我有一个包含500行(二进制分数)和120列的矩阵的文件。该文件是一个0和1的简单矩阵。
>file
00010010101010
01001010100101
00101001010001
11110101001010
我正在编写一个函数,它使用特殊的相关公式来查找行之间的这种相关性。它需要两个向量行作为输入fn(row1,row2)。例如。 row1和row2并计算此特殊关联。
实施例
>fn(file[1,], file[2,])
>0.32
我能够为两行做到这一点但是如何为所有行创建500x500相关矩阵。有人可以帮忙吗?感谢。
答案 0 :(得分:5)
试试这个:
corr.mat <- outer(seq_len(nrow(file)), seq_len(nrow(file)),
Vectorize(function(i, j) fn(file[i,], file[j,])))
如果这对您的需求来说太慢,可能会有更好的方法,但您必须展示fn
应该做什么。
P.S。:file
是R中函数的名称,你应该避免将它用于你自己的变量。