我是一个相对新手的R语言用户,所以请原谅我提出的这个相对简单的问题。
我的数据形式为
1 2 3 4 5
A 0 1 1 0 0
B 1 0 1 0 1
C 0 1 0 1 0
D 1 0 0 0 0
E 0 0 0 0 1
A-E分别代表人员,1-5表示他们是否具有该品质的二进制。我需要制作一个A-E的矩阵,在这个矩阵中,如果A和B的品质1-5之和等于2(即他们至少分享一种品质),则单元格A,B=1。简单的5x5矩阵如下:
A B C D E
A 1
B 1 1
C 1 0 1
D 0 1 0 1
E 0 1 0 0 1
我需要对整个矩阵进行求和(上面的结果为9)。由于我有数千个观测值,所以无法手动完成此操作。我相信只需要几行简单的代码就可以实现,但我没有足够的经验。
谢谢!
编辑:我已从一个.csv文件中导入了数据,其中包含1-5列作为变量,在真实数据中我有40个变量。A-E是大约2000个人的唯一ID观测值。我还想知道如何将其转换为矩阵,以执行您已经提供的好答案。谢谢!
rbind
将它们绑定在一起,就会形成一个矩阵。否则,如果您的数据是data.frame
,可以使用as.matrix
。如果这两种方法都不行,请您编辑一下问题,说明数据的存储方式。谢谢。 - user20650m <- as.matrix(yourdata)
可以将其转换为矩阵吗?如果不行,您能否使用dput(yourdata[1:5, 1:5])
发布一小部分数据。谢谢。 - user20650