A/B テストで施策の効果を検証!エンジニアのための R 入門 - クックパッド開発者ブログ
http://techlife.cookpad.com/entry/2015/05/08/114239
これを見ながらRに挑戦したメモ
グラフ描画まで写経するつもりだったんですが、脇道に逸れて力尽きました
Install
$ brew install gcc
$ brew install r
あとはクックパッドの記事を見ながら手を動かす
アドバイス通り、筑波大学は停電していました(助かりました
1時間触った感想
- 端末でペチペチやる
- 記述量もRubyと同じぐらい少なめで良い
- コマンドの入力履歴を表示するには
history()
- データ構造がまだよくわかっていない
### Rubyのメソッドチェーン(パイプ)っぽく書ける ※dplyrのおかげ
# `hoge %>% function` のfunctionの第1引数がhogeになる
library(dplyr)
1 %>% class # "numeric"
iris %>% class # "data.frame" (irisはRに最初から入っているアヤメの計測データだそうです
### テーブルである data.frame の操作
# 行列は(1,1)要素から始まる
iris[1,1] # 5.1
iris[1,] # 1行目のベクトル
iris[,1] # 1列目のベクトル
iris[,1] %>% is.vector # TRUE
iris[1,] %>% is.vector # TRUE
# Rではタダの数字すらベクトル(要素数1のベクトルと捉えられる)
1 %>% is.vector # TRUE
# $ はカラム変数を指定する。以下の2つは同じことになる
iris$Sepal.Width %>% sum # 458.6
iris[,2] %>% sum # 458.6
### データ構造を調べたいときに困る
# 次元が落とされてしまう
array(1:3) %>% is.array # TRUE
array(1:3) %>% class # "integer"
優秀なテーブル操作
「ユニークな2列と値」を「スプレッドシート」にする
tidyr::spread(data_table, ユニークな2列のうち1列の要素名, 値として用いたい要素名)
「新しい列を追加する」
dplyr::mutate(data_table, 新しい属性名 = (その定義式))
なんか色々できすぎるので必要に応じてその都度覚えると良さそう
参考リンク
Rメモ
http://www.kabipan.com/computer/r/quick.html
細かすぎて使わない R 小技集 - Qiita
http://qiita.com/mwmsnn/items/1c6c03f06bd8be93230c
R dplyr, tidyr でのグルーピング/集約/変換処理まとめ - StatsFragments
http://sinhrks.hatenablog.com/entry/2014/10/13/003717
またあとでちゃんと触りたいです