Я не уверен, что лучший способ выразить это, и, возможно, моя цель легче, чем я пытаюсь это сделать. Я пытаюсь сравнить две матрицы вхождения (MatA и MatB), у которых есть сайты в виде строк, а виды встречаются на каждом сайте в виде столбцов, 1 = присутствует и 0 = отсутствует. Вот некоторые меньшие притворные данные:
>MatA
G. magnirostris G. fortis G. fuliginosa G. difficilis
Site1 0 0 1 1
Site2 1 0 1 1
Site3 0 1 1 0
>MatB
G. magnirostris G. fortis G. fuliginosa G. difficilis
Jefferson 1 1 0 0
Hillsdale 0 1 1 1
Для каждой строки (сайта) в MatB я хочу выполнить поиск по каждой строке (сайту) в MatA и сначала посчитать, сколько видов встречается вместе, и, если возможно, отследить, какие виды. Так, для сайта Джефферсон в MatA такая комбинация видов G. magnirostris и G. fortis никогда не встречается. Итак, результат = 0.
Для Хиллсдейла 3 вида (G. fuliginosa, G. fortis и G. difficilis) никогда не встречаются, как все 3, но есть две комбинации:
G. fortis & G. fuliginosa, а затем G. fuliginosa & G. difficilis.
Я должен упомянуть, что у меня есть сотни столбцов (видов) и тысячи строк (участков). Я попытался умножить матрицу, используя MatA% *% t (MatB) как способ начать, но он ошибочно считается несовместимым, и я не думаю, что это то, чего я хочу в любом случае. Любые советы о том, как это настроить, будут очень полезны. Бороться с этим уже несколько дней!
РЕДАКТИРОВАТЬ: Я закодировал матрицу парных вероятностей совместного появления MatA (MatA.probs). Теперь я хочу рассчитать суммарную вероятность совпадения видов на строку (участок) в MatB. Например:
>MatA.prob
G. magnirostris G. fortis G. fuliginosa G. difficilis
G. magnirostris NA 0 1 1
G. fortis 0 NA 1 2
G. fuliginosa 1 1 NA 2
G. difficilis 1 0 2 NA
Тогда, учитывая, что эта объединенная вероятность комбинации видов в Джефферсоне будет равна = 0, поскольку такая комбинация никогда не встречается, но в Хиллсдейле она будет 1 * 0 * 2 для каждой из трех возможных комбинаций. Как я могу по строкам сопоставить комбинации видов в MatB, чтобы вычислить это?