我正在使用dplyr包在数据帧中运行一个eggregation。例如,我可以将我的数据框与我想要聚合的2列(Col_1,Col_2)以及实际聚合的列(Col_to_Agg)一起传递。
agg_frame <- dcast(setDT(data_frame), Col_1+Col_2~Col_to_Agg, length)
如果我在自定义函数中使用此方法,如何传入Col_1,Col2和Col_to_Agg?如果我只是将这些列作为名称传递,它就无法工作。
换句话说,我想这样做:
aggregate <- function(data_frame, Col_1, Col_2, Col_to_Agg) {
agg_frame <- dcast(setDT(data_frame), Col_1+Col_2~Col_to_Agg, length)
return(agg_frame)
}
答案 0 :(得分:1)
as.formula(paste(Col_1,'+',Col_2,'~',Col_to_Agg))