我经常遇到使用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"
有什么建议么?有什么我忽略的吗?