ユースケース
以下のようなデータを持っているとしよう
flg
の値が0なのか1なのかによって、x_i
の分布がどのように異なるのかをhistgramでみたい。
そういう場合に使って下さい。
イメージ
snipet
data %>>% (.[, c("flg", "x_1")]) %>>% (~ (.[.$flg == 0,][,2]) %>>% (as.matrix(.)) %>>% (hist(., freq=T, col="#00FFFF40"))) %>>% (.[.$flg == 1,][,2] %>>% (as.matrix(.)) %>>% (hist(., freq=T, col="#FF00FF40", add=T)))
特にimportするべきはpipeR
くらいです。
1つずつ説明
(.[, c("flg", "x_1")])
ここで、flg
とx_1
の組だけ取ってくる
(~ (.[.$flg == 0,][,2]) %>>% (as.matrix(.)) %>>% (hist(., freq=T, col="#00FFFF40")))
ここで、pipeの1つの処理(~ hoge)
の中にpipe処理が入ってる。
(頭に~
がついているので、処理はこの中で完結し、後ろには上で2つの列にだけしたものが渡される)
更に見ていく。
(.[.$flg == 0,][,2])
ここで、flg
の値が0の時のx_1
の値のみ取り出している。
(as.matrix(.)) %>>% (hist(., freq=T, col="#00FFFF40")))
それをmatrixにし、histにぶち込む。
col
属性で、色を指定。#RRGGBBAA
形式(AA
はalpha値)。
こんな感じで、1つめのhistgramの描画完了。
後半
(.[.$flg == 1,][,2] %>>% (as.matrix(.)) %>>% (hist(., freq=T, col="#FF00FF40", add=T)))
では、最後のhist
の中にadd=T
を書き加えれば、新規のhistgram描画ではなく、前のところに書き加えてくれる。