我有一个 41 行 6 列的矩阵。这就是第一部分的样子。
X13 X15 X17 X19 X21 X23
[1,] "7" "6" "5" "8" "1" "8"
[2,] "7" "6" "5" "8" "14" "3"
[3,] "7" "6" "1" "3" "12" "3"
[4,] "7" "6" "1" "5" "6" "14"
[5,] "2" "6" "1" "5" "16" "3"
[6,] "2" "3" "5" "5" "2" "3"
[7,] "7" "5" "5" "17" "7" "3"
[8,] "7" "2" "5" "2" "2" "14"
[9,] "2" "2" "10" "10" "2" "3"
[10,] "2" "2" "10" "5" "2" "6"
我的目标是,将所有列相互比较,看看 2 列中有多少个数字相等。我试着这样做:
s <- sum(matrix[,1]==matrix[,2])
但是由于我需要比较所有可能的对,所以它是无效的。把它放在一个循环中会很好,但我不知道怎么做。
我想以 6x6 相似度矩阵的形式得到我的结果。像这样的东西:
X13 X15 X17 X19 X21 X23
X13 0 0 3 2 2 3
X15 0 0 9 11 4 6
X17 3 9 0 5 1 3
X19 2 11 5 0 9 10
X21 2 4 1 9 0 9
X23 3 6 3 10 9 0
如您所见,当将列与 eslf 进行比较时,我想将零放在矩阵中。
由于我是初学者 R 用户,这个任务对我来说真的很复杂。我需要将这个比较用于 50 个矩阵,所以如果你能帮助我,我会很高兴。我将不胜感激任何提示/建议。我的英语也不是很好,但我希望我能很好地解释我的问题。:)