【发布时间】:2023-03-24 12:05:03
【问题描述】:
这个问题把我逼疯了,我想不通。这是我的数据框 (df) 的一个子集,让事情变得更容易。
我想按性别分组并计算总数。简单吗?
df %>% group_by(sex) %>% count()
此代码返回以下输出
我想要的(以及我之前使用它时认为这段代码所做的事情(也许我的记忆力不好)是这个输出
我使用
获得了这个输出df %>% group_by(sex) %>% tally()
我不反对 tally(),但我发誓我以前使用过 count()。
另外,我认为我可以使用 group_by %>% summarise(n()) 来获得相同的结果,但是当我尝试这段代码时
df %>% group_by(sex) %>% summarize(n())
我收到这条消息
再次,我“认为”这会起作用并产生类似的输出,但事实并非如此。也许我记错了,你至少可以告诉我检查一下我的记忆:-D
提前致谢
【问题讨论】:
-
尝试使用
df %>% group_by(sex) %>% dplyr::count(),您可能在会话中加载了plyr。 -
另外,请不要将数据添加为图像,以可重现的格式共享它们,我们可以使用它来测试解决方案。我们无法从图像中复制数据。
-
@RonakShah 奇怪的是,当我复制并粘贴您提供的代码时,它工作正常。我已经加载了 dplyr。为了以防万一,我重新加载了它。结果与我之前的问题相同。
-
您还加载了
plyr,它掩盖了函数summarise和count。重新启动 R 并仅加载dplyr。 -
我重新启动了 R 并尝试了它。有效。谢谢你。我为该会话加载了 plyr 和 dplyr 。这一定是为什么。那么,在同一个会话中加载两个库会导致类似这样的某些问题吗?