【问题标题】:summarize(n()) and count() difficulties in R [duplicate]R中的summary(n())和count()困难[重复]
【发布时间】: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,它掩盖了函数summarisecount。重新启动 R 并仅加载 dplyr
  • 我重新启动了 R 并尝试了它。有效。谢谢你。我为该会话加载了 plyr 和 dplyr 。这一定是为什么。那么,在同一个会话中加载两个库会导致类似这样的某些问题吗?

标签: r dplyr count summarize


【解决方案1】:

如果你想要这样的输出

n() 函数之前添加列名。这是示例

df %>% group_by(sex) %>% summarize(num_of_sex = n())

【讨论】:

  • 已找到解决方案,谢谢。这是由于会话中同时加载了 plyr 和 dplyr 。您提供的代码现在可以使用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-30
  • 1970-01-01
  • 2011-03-08
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多