私はちょうど素晴らしいplyr
パッケージを発見し、それを試してみました。
私が持っている質問は次のとおりです:内部からグループ化変数にアクセスする方法はありますd_ply
か?
df
列のあるデータフレームがあり、値ごとx,y,z
にプロットしたいとします。私が次のことをした場合:z
x
y
plotxy = function(df, ...) {plot(df$x, df$y, ...)}
d_ply(df, .(z), plotxy(df, main=.(z)))
その場合、プロットに表示されるタイトルはすべて「z」であり、z変数の値ではありません。内部からこれらの値にアクセスする方法はありますd_ply
か?
編集:@Justinが指摘したように、私は全体をに渡しているので、上記の定式化は間違っていdf
ますplotxy
。したがって、ライン
d_ply(df, .(z), plotxy(df, main=.(z)))
する必要があります
d_ply(df, .(z), plotxy, main=.(z))
私の元の質問の観点から意味をなすために(@joranがほのめかしていたことでもあると思います)。
しかし、私は別のことに気づきました。df
によってスライスz
されてもd_ply
、関数が受け取るサブデータフレームには、z
常に同じ値の列があります。したがって、問題は明らかに次のように解決できます。
plotxy = function(df, ...) {plot(df$x, df$y, main=df$z[1])}
d_ply(df, .(z), plotxy)