【问题标题】:creating a correlation matrix in R在 R 中创建相关矩阵
【发布时间】:2013-09-29 22:43:59
【问题描述】:

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

>file

00010010101010
01001010100101
00101001010001
11110101001010

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

例子

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

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

【问题讨论】:

    标签: r matrix


    【解决方案1】:

    试试这个:

    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 中函数的名称,你应该避免将它用于你自己的变量。

    【讨论】:

    • 谢谢,我会试试看会发生什么。 fn 计算预先指定的四色相关性。所以我想为数据框中的所有行变量创建一个 500x500 的相关矩阵。我会试试看。
    猜你喜欢
    • 2012-05-27
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    相关资源
    最近更新 更多