【发布时间】:2017-01-22 15:12:45
【问题描述】:
我有一个矩阵(比如)x,表示 1.000 名受访者的 33 个不同属性的某些属性的存在/不存在。数据如下所示:
| P1| P2| P3| P4| P5| P6| P7| P8| P9| P10| P11| P12| P13| P14| P15| P16| P17| P18| P19| P19| P20| P21| P22| P23| P24| P25| P26| P26| P27|P28| P29| P30| P31| P32| P33
| 0| 0| 0| 0| 0| 1| 0| 0| 1| 0| 0| 0| 1| 0| 1| 1| 1| 1| 1| 0| 0| 0| 0| 0| 1| 1| 0| 0| 0| 0| 0| 0| 0| 1| 0
| 1| 0| 0| 0| 0| 1| 0| 0| 1| 0| 0| 0| 1| 0| 1| 1| 1| 1| 1| 0| 0| 0| 0| 0| 1| 1| 0| 0| 0| 0| 0| 0| 0| 1| 0
| 0| 1| 0| 0| 0| 1| 0| 0| 1| 0| 0| 0| 1| 0| 1| 1| 1| 1| 1| 0| 0| 0| 0| 0| 1| 1| 0| 0| 0| 0| 0| 0| 0| 1| 0
| 0| 0| 0| 1| 0| 1| 0| 0| 1| 0| 0| 0| 1| 0| 1| 1| 1| 1| 1| 0| 0| 0| 0| 0| 1| 1| 0| 0| 0| 0| 0| 0| 0| 1| 0
| 0| 1| 0| 0| 0| 1| 0| 0| 1| 0| 0| 0| 1| 0| 1| 1| 1| 1| 1| 0| 0| 0| 0| 0| 1| 1| 0| 0| 0| 0| 0| 0| 0| 1| 0
| 0| 0| 0| 0| 0| 1| 0| 0| 1| 0| 0| 0| 1| 0| 1| 1| 1| 1| 1| 0| 0| 0| 0| 0| 1| 1| 0| 0| 0| 0| 0| 0| 0| 1| 0
| 1| 0| 0| 0| 0| 1| 0| 0| 1| 0| 0| 0| 1| 0| 1| 1| 1| 1| 1| 0| 0| 0| 0| 0| 1| 1| 0| 0| 0| 0| 0| 0| 0| 1| 0
| 0| 1| 0| 0| 0| 1| 0| 0| 1| 0| 0| 0| 1| 0| 1| 1| 1| 1| 1| 0| 0| 0| 0| 0| 1| 1| 0| 0| 0| 0| 0| 0| 0| 1| 0
| 0| 0| 0| 0| 0| 1| 0| 0| 1| 0| 0| 0| 1| 0| 1| 1| 1| 1| 1| 0| 0| 0| 0| 0| 1| 1| 0| 0| 0| 0| 0| 0| 0| 1| 0
| 0| 0| 0| 1| 0| 1| 0| 0| 1| 0| 0| 0| 1| 0| 1| 1| 1| 1| 1| 0| 0| 0| 0| 0| 1| 1| 0| 0| 0| 0| 0| 0| 0| 1| 0
我想创建一个数据框,其中 33 列的所有可能组合都是可能的,如果在原始矩阵 x 中两列都有 1 和 0,则 1,000 名受访者中的每一个都为 1,否则.
例如,我将使用以下代码获得原始矩阵的第一列和第二列的组合:
ifelse(x[,i] == 1 & x[,i+1] == 1, 1, 0)
我最终应该得到一个包含 1,000 行(受访者数量)和 528 个变量的数据框,因为这是矩阵 x 中 33 列的不同组合对的数量。
在 R 中有没有一种有效的方法来实现这一点?
【问题讨论】:
-
结果矩阵中元素的顺序是否重要?例如
1 1 0 0与0 1 0 1?
标签: r matrix data-manipulation