Чтобы создать матрицу совместного использования из ваших данных, вам сначала нужно преобразовать свои NA
s в 0, а затем создать перекрестное произведение ваших данных без первого столбца ID
:
x = data.frame(ID = c(1:4), sp1 = c(NA,0,1,1), sp2 = c(1,0,NA,1), sp3 = c(1,1,0,1))
x[is.na(x)] = 0
crossprod(t(x[-1]))
[,1] [,2] [,3] [,4]
[1,] 2 1 0 2
[2,] 1 1 0 1
[3,] 0 0 1 1
[4,] 2 1 1 3