cast
,从reshape2
包中,如果直接在调用中传递,可以处理一堆函数。例如:
library(reshape2)
d <- data.frame(variable="variable",value=rnorm(100))
cast(d, variable ~ ., c(mean,sd,max,min))
但是,如果您尝试事先构建函数列表,这将不起作用。例如:
summary.fun <- c(mean,sd,max,min)
cast(d, variable ~., summary.fun)
我查看了处理这种特殊行为的 cast 代码,老实说,我不知道它在做什么:
if (length(fun.aggregate) > 1)
fun.aggregate <- do.call(funstofun, as.list(match.call()[[4]])[-1])
有没有办法将预先制作的函数列表作为变量传递给cast()
?