【问题标题】:Is this the correct usage of the count function or am I missing something?这是计数功能的正确用法还是我遗漏了什么?
【发布时间】:2021-08-22 18:01:18
【问题描述】:

我对使用调查中的两个变量感兴趣。这是删除其余数据集后它们的显示方式:

p70506 p70508
1 4 entirely disagree 4 entirely disagree
2 0 not applicable 0 not applicable
4 2 partially agree 3 entirely disagree
7 1 entirely agree 3 partially disagree

我想要计算部分同意和完全同意这两个问题的总人数。为此,我尝试了以下方法:

dataset %>% filter(p70506 %in% c(1, 2), p70508 %in% c(1, 2)) %>% group_by(p70506, p70508) %>% count(p70506, p70508)

这反过来又给了我结果:

p70506 p70508 n
1 1 entirely agree 1 entirely agree 209
2 1 entirely agree 2 entirely agree 135
4 2 partially agree 1 partially agree 103
7 2 partially agree 2 partially agree 457

似乎 count 函数返回一个矩阵,计算值之间可能组合的重复次数。但我的预期有些不同:

p70506 p70508
Entirely agree Number Number
Partially agree Number Number
Total Number Number

是否可以使用 count 来做到这一点,还是我试图以错误的方式实现这一点?

【问题讨论】:

  • 您能否与dput(head(data))分享您的可重现数据?
  • 这比我在评论中发布的时间要长。我可以发给你的输出中有什么特别的吗?
  • 是的,您可以共享head 中指定的数据dput(head(data))
  • 这是函数的完整输出:link,只有我正在使用的列:link。另外,数据集的链接link
  • 很遗憾,我似乎无法生成您的数据。如果您将dput 的输出放在那里,则只有选定的列就足够了。

标签: r dataframe dplyr counting


【解决方案1】:

您可以使用table() 函数代替count()。顺便说一句,如果你喜欢tidyverse风格,请跳过group_by(),在计数完成后尝试pivot_wider()

【讨论】:

  • 使用表格后,我得到这个输出:link。你能建议我如何在上面使用 pivot_wider 吗?
猜你喜欢
  • 1970-01-01
  • 2012-02-07
  • 2023-02-02
  • 2021-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多