【问题标题】:r dplyr group_by - by variable contentr dplyr group_by - 按变量内容
【发布时间】:2016-08-16 11:58:51
【问题描述】:

我使用 dplyr group_by 函数对我的数据框进行分组,

并且需要能够按列对数据进行分组,我还不知道列的名称,我需要根据代码来确定它,所以名称不能被硬编码。

例如,

我不能用

data %>% group_by(col_name) 

我需要做类似的事情

data %>% c <- col_name 
data %>% group_by(c)

当我尝试这样做时,它会出现错误: 错误:要分组的未知变量:c

我找到的所有示例都适用于您可以硬编码列名称的小例子

group by example

在 r 帮助中也是如此

谢谢。

【问题讨论】:

  • 试试group_by_(.dots = c)
  • 看看vignette('nse')。

标签: r dataframe dplyr


【解决方案1】:

您想像其他人在他们的 cmets 中所说的那样查找 NSE。使用它还需要您使用lazyeval 包和 group_by_ 函数,它允许您进行标准评估。所以它看起来像:

data %>% group_by_(lazyeval::interp(~var, var = as.name(c)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-03
    • 2021-04-17
    • 2019-12-20
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多