在dplyr的group_by中使用变量作为列

时间:2015-10-20 19:16:26

标签: r dplyr

我正在尝试在dplyr中编写一个小的top_n_by函数。

topNby = function(df, dim, byDim, n) {
  return( group_by(df, as.symbol(dim)) %>%
          summarise(topDim = sum(byDim)) %>%
          arrange(desc(topDim)) %>% 
          slice(1:n) %>%
          .[[dim]] %>% as.character() 
          )
}

group_by会抛出错误:

Error in mutate_impl(.data, dots) : object 'yourDim' not found

我也试过没有as.symbol但没有成功。当您希望能够动态设置分组列时,使用group_by的正确方法是什么。

(我很确定这必须在其他地方得到解答,但找不到令人满意的答案......)

0 个答案:

没有答案