R: Сравните все столбцы попарно в матрице
У меня есть матрица с 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
Как видите, я хотел бы поставить нули в матрице, когда столбец сравнивается с самим собой.
Поскольку я начинающий пользователь R, эта задача мне кажется очень сложной. Мне нужно использовать это сравнение с 50 матрицами, поэтому я был бы рад, если бы вы могли мне помочь. Буду признателен за любые советы / предложения. Мой английский тоже не очень хорош, но я надеюсь, что смогу объяснить мою проблему достаточно хорошо. :)