1

我有一个包含 500 行(二进制分数)和 120 列的矩阵的文件。该文件是一个简单的 0 和 1 矩阵。

>file

00010010101010
01001010100101
00101001010001
11110101001010

我正在编写一个函数,该函数使用特殊的相关公式来查找行之间的这种相关性。它将两个向量行作为输入 fn(row1, row2)。例如。row1 和 row2 并计算此特殊相关性。

例子

>fn(file[1,], file[2,])
>0.32

我可以为两行执行此操作,但如何为所有行创建一个 500x500 的相关矩阵。有人可以帮忙吗?谢谢。

4

1 回答 1

5

尝试这个:

corr.mat <- outer(seq_len(nrow(file)), seq_len(nrow(file)),
                  Vectorize(function(i, j) fn(file[i,], file[j,])))

如果这对您的需求来说太慢了,可能会有更好的方法,但您必须展示fn应该做什么。

PS:file作为 R 中函数的名称,你应该避免将它用于你自己的变量。

于 2013-09-29T22:53:20.967 回答