在R中创建相关矩阵

Cad*_*ama 1 r matrix

我有一个文件,其矩阵为500行(二进制分数)和120列.该文件是0和1的简单矩阵.

>file

00010010101010
01001010100101
00101001010001
11110101001010
Run Code Online (Sandbox Code Playgroud)

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

>fn(file[1,], file[2,])
>0.32
Run Code Online (Sandbox Code Playgroud)

我能够两行但是如何为所有行创建500x500相关矩阵.有人可以帮忙吗?谢谢.

flo*_*del 5

试试这个:

corr.mat <- outer(seq_len(nrow(file)), seq_len(nrow(file)),
                  Vectorize(function(i, j) fn(file[i,], file[j,])))
Run Code Online (Sandbox Code Playgroud)

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

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