在R中使用dplyr包时出错

时间:2016-10-06 14:46:45

标签: r dplyr

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

unique_data %>%
group_by(x) %>%
arrange(desc(count(x)))

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

  

错误:没有适用于' group_by _'的方法应用于类"字符"

的对象

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

的问候,
莫汉

1 个答案:

答案 0 :(得分:10)

原因是在arrange上包裹了count。我们需要单独完成这项工作。如果我们使用与OP帖子中相同的代码,只需在两个单独的管道中拆分countarrange步骤即可。 count的输出是频率列' n' (默认情况下),我们arrange以降序(desc)顺序。

unique_data %>% 
          group_by(x) %>% 
          count(x) %>%
          arrange(desc(n))

也不需要group_by。根据{{​​1}}文档

  

tally是一个方便的汇总程序,用于汇总,可以调用n或   sum(n)取决于你是否第一次计算,或者   重新清点。 count()类似,但也为你做group_by。

基于此,我们可以做到

?count