2016-05-12 87 views
1

我具有由具有值0或1的东西几个列的DF等:计算所有针对具有匹配行的所有列的总和计

a b c d e 
1 0 0 0 0 
0 1 0 1 0 
0 1 0 1 0 
1 0 1 0 1 

我想建立一个5×5矩阵表示总计数如果列在同一行中有1。我只想考虑1和按对角线情况下,它会自动反映在该列总一行1.输出类似:

a b c d e 
a 2 0 1 0 1 
b 0 2 0 2 0 
c 1 0 1 0 1 
d 0 2 0 2 0 
e 1 0 1 0 1 

感谢。

苏德赫

回答

2

转换为矩阵,并采取交叉产品:

m <- as.matrix(d) 
crossprod(m,m) 
+0

感谢萨芬......这是真棒..不知道它会如此简单:) – Sudhir