我有一个mat
看起来像这样的矩阵:
A B C D E F
1 0.74 1.19 0.01 1.21 16000 0.02
2 0.76 1.17 0.01 1.21 15500 0.02
3 0.79 1.16 0.01 1.17 15625 0.02
4 0.75 1.17 0.01 1.17 15600 0.02
5 0.80 1.19 0.01 1.19 15225 0.02
6 0.79 1.18 0.01 1.18 15625 0.02
我想通过应用函数来构建一个对称矩阵Sum(Col1-Col2)
。最终结果将如下所示:
A B C D E F
A 0
B 0
C 0
D 0
E 0
F 0
这样空格代表差异的总和。IE[1,2] = Sum(A-B)
。
我研究了以下方法:
combs<-combn(names(mat),2)
val<-apply(combs,2,function(x) mat[[x[1]]]-mat[[x[2]]])
但它并没有给我一个很好的对称矩阵。
有人有想法么?
谢谢。
编辑 - 感谢特洛伊上述作品。但是如果我想计算呢Sum((Col1-Col2)^2)
(Sum(((A_1,A_2,..,A_n)-(B_1,B_2,..,B_n))^2)
所以不能先求和A
然后B
再减去,否则答案将被关闭)。