【发布时间】:2015-10-14 15:11:42
【问题描述】:
我正在尝试对我目前拥有的数据集做两件事:
ID IV1 DV1 DV2 DV3 DV4 DV5 DV6 DV7
1 97330 3 0 0 0 0 0 1 0
2 118619 0 0 0 0 0 1 1 0
3 101623 2 0 0 0 0 0 0 0
4 202626 0 0 0 0 0 0 0 0
5 182925 1 1 0 0 0 0 0 0
6 179278 1 0 0 0 0 0 0 0
- 查找 7 个二进制的唯一列组合数 自变量 (DV1 - DV7)
- 求每个唯一组的独立计数变量 (IV1) 的总和。
我已经能够使用以下方法确定唯一列组合的数量:
uniq <- unique(dat[,c('DV1','DV2','DV3','DV4','DV5','DV6','DV7')])
这表明数据集中存在 101 个唯一组合。我没有能够弄清楚的是如何确定如何按每个唯一组对变量“IV1”求和。我一直在这个网站上阅读,我相当肯定有一个简单的 dplyr 答案,但到目前为止我还没有找到。
注意:我实际上是在尝试找到一个 R 解决方案来执行显示在this paper 中的“联合分析”。文末附有SPSS、SAS、STATA的示例代码。
【问题讨论】:
-
对于 dplyr 的 #1:
dat %>% select(DV1:DV7) %>% distinct %>% nrow。这个命令应该适用于整个dat %>% group_by(DV1:DV7) %>% summarise(tot_IV1 = sum(IV1)),但看起来他们没有为那个用例编码group_by。