在R中使用dplyr包时出错

Moh*_*Raj 3 r dplyr

我使用下面的代码通过计算数据集unique_data中列x中的值并按降序排列计数值来提取关于列x的数据摘要.

unique_data %>%
group_by(x) %>%
arrange(desc(count(x)))
Run Code Online (Sandbox Code Playgroud)

但是,当我执行上面的代码时,我收到如下错误信息,

错误:没有适用于"group_by_"的方法应用于类"character"的对象

请告诉我,我的代码出了什么问题.对于您的信息,列x是字符数据类型.

此致,
莫汉

akr*_*run 10

原因是包装arrangecount.我们需要单独完成这项工作.如果我们使用与OP帖子中相同的代码,只需拆分count并分arrange步两个独立的管道.输出count是频率列'n'(默认情况下),我们arrange按降序(desc)顺序.

unique_data %>% 
          group_by(x) %>% 
          count(x) %>%
          arrange(desc(n))
Run Code Online (Sandbox Code Playgroud)

group_by没有必要.根据?count文件

tally是一个方便的汇总包,它可以调用n或sum(n),具体取决于你是第一次计算,还是重新计算.count()类似,但也为你做group_by.

所以基于此,我们可以做到

count(unique_data, x) %>%
          arrange(desc(n))
Run Code Online (Sandbox Code Playgroud)