如何通过变量进行分组并汇总使用ddply?组并通过函数内部的变量进行汇总
例如:
library(plyr)
sample <- function(x, g){
print(g)
print(x[[g]])
res = ddply(x, ~x[[g]], summarise, value = mean(value))
return(res)
}
x = data.frame(type = c('a', 'a', 'a', 'b'),
age = c(20, 21, 21, 10),
value = c(100, 120, 121, 150))
sample(x = x, g = 'age')
将失败说:
Error in (function(x, i, exact) if (is.matrix(i)) as.matrix(x)[[i]] else .subset2(x, :
object 'g' not found
即使该函数打印:
[1] "age"
[1] 20 21 21 10
为什么[R找到g
,当涉及到印刷,但不当涉及到group_by
ing?
编辑: 我期望的输出是:
x[["age"]] value
1 10 150.0
2 20 100.0
3 21 120.5