d*ply
orを使用するときに実際の id 変数にアクセスする必要があるという問題が定期的に発生しますl*ply
。単純な (しかし意味のない) 例は次のようになります。
df1 <- data.frame( p = c("a", "a", "b", "b"), q = 1:4 )
df2 <- data.frame( m = c("a", "b" ), n = 1:2 )
d_ply( df1, "p", function(x){
actualId <- unique( x$p )
print( mean(x$q)^df2[ df2$m == actualId, "n" ] )
})
したがって、d*ply
関数の場合、私は自分自身を助けることができますunique( x$p )
. しかし、 に関してはl*ply
、対応するリスト要素の名前にアクセスする方法がわかりません。
l_ply( list(a = 1, b = 2, c = 3), function(x){
print( <missing code> )
})
# desired output
[1] "a"
[1] "b"
[1] "c"
助言がありますか?私が無視しているものはありますか?