我有一个文件,其矩阵为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相关矩阵.有人可以帮忙吗?谢谢.
试试这个:
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中函数的名称,你应该避免将它用于你自己的变量.