我想在函数中使用ddply并将参数传递给外部函数。
因此我需要能够做这样的事情
ddply_wrapper <- function(x,byCol,cols){
return(ddply(x,.(byCol),freq=length(x),cols))
}
library(ggplot2)
ddply_wrapper(diamonds,byCol="color",cols=c("av_price=mean(price)","m_depth=median(depth)"))
并获得此输出
color cases av_price m_depth
1 D 6775 3169.954 61.8
2 E 9797 3076.752 61.8
3 F 9542 3724.886 61.8
4 G 11292 3999.136 61.8
5 H 8304 4486.669 61.9
6 I 5422 5091.875 61.9
7 J 2808 5323.818 62.0
但我不知道如何传递外部函数的cols参数,因此它像内部ddply函数的参数一样执行
我检查了do.call,但在这种情况下我不知道如何使用它。
顺便说一下,这个用例是一个允许按特定节点属性折叠igraph对象的函数。我知道igraph中已经有类似的东西了,但是ddply处理这个的方式真是太棒了!