【发布时间】: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))。 -
很遗憾,我似乎无法生成您的数据。如果您将
dput的输出放在那里,则只有选定的列就足够了。
标签: r dataframe dplyr counting