我正在尝试使用ddply在其中进行功能。但是我不能上类。这是一个重现我所得到的虚拟例子。这和this bug有关系吗?
library(ggplot2)
data(diamonds)
foo <- function(data, fac1, fac2, bar) {
res <- ddply(data, .(fac1, fac2), mean(bar))
res
}
foo(diamonds, "color", "cut", "price")
最佳答案
我不相信这是一个错误。 ddply
需要一个函数的名称,而mean(bar)
并未真正提供该函数的名称。您需要编写一个完整的函数来计算您想要的均值:
foo <- function(data, fac1, fac2, bar) {
res <- ddply(data, c(fac1, fac2), function(x,ind){
mean(x[,ind]},bar)
res
}
另外,您不应该将字符串传递给
.()
,因此我将其更改为c()
,以便可以将函数参数直接传递给ddply
。关于r - 在函数中使用ddply,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6584030/