【问题标题】:Passing in column names to a function that runs another function in R将列名传递给在 R 中运行另一个函数的函数
【发布时间】:2016-04-19 16:19:05
【问题描述】:

我正在使用 dplyr 包跨数据框运行 egregation。例如,我可以将我的数据框与我想通过 (Col_1, Col_2) 聚合的 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)

}

【问题讨论】:

    标签: r


    【解决方案1】:

    as.formula(paste(Col_1,'+',Col_2,'~',Col_to_Agg))

    【讨论】:

    • 美丽。谢谢先生。
    猜你喜欢
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2019-07-25
    • 2021-12-26
    • 2019-08-19
    相关资源
    最近更新 更多