无法使用dplyr在R中对数据进行分组

时间:2016-07-07 14:18:48

标签: r

我运行此命令以获取res1数据集中按年龄组划分的不同成员数。但是,计数未分组,您在下面看到的计数是整个数据集。我不知道我哪里出错了。有人可以帮我这个吗?谢谢!

res1 %>% group_by(Age_Group = res1[,'age_group']) %>%
      summarise(Count = n_distinct(res1[,'ID']))
Source: local data frame [10 x 2]

#   Age_Group             Count
#      <fctr>             <int>
#1      >= 90            5000
#2        0-9            5000
#3      10-19            5000
#4      20-29            5000
#5      30-39            5000
#6      40-49            5000
#7      50-59            5000
#8      60-69            5000
#9      70-79            5000
#10     80-89            5000

1 个答案:

答案 0 :(得分:1)

当您使用管道操作员%>%时,它会将操作员左侧的内容作为操作员右侧功能的第一个输入。当您从group_by语句管道传递到汇总语句时,会有一个隐藏的未命名分组数据帧。但是,当您将Count定义为n_distinct(res1[,'ID'])时,您将回复原始未分组的data.frame res1,而不是您在{{1}中创建的分组data.frame调用。这就是为什么它给你的总数,而不是每组的数量。

在像这样的dplyr管道中,你应该只调用不带引号的列名,所以这个:

group_by

应该有效

相关问题