【问题标题】:Convert a correlation matrix to a Pajek input file in R将相关矩阵转换为 R 中的 Pajek 输入文件
【发布时间】:2011-09-20 02:20:48
【问题描述】:

我需要将相关矩阵转换为Pajek 输入文件以进行网络分析。 更具体地说,我正在尝试使用 R 将相关 p 值矩阵转换为显着相关性的“行名列名”列表。这是相当多变量之间每个显着相关性的列表。 如果我有变量 a,b,c,d 和 a,c; b,d 和 a,d 是相关的,我想要一个如下列表:

a b;
b d;
a d

到目前为止,我的 R 技能不足使我能够生成相关 p 值矩阵,在对角线上和下方插入 NA(以避免无意义和重复的相关),并用 FALSE/TRUE 替换 p 值,如果p 值不显着/显着。 但现在我被困住了,无法通过谷歌搜索。

【问题讨论】:

    标签: r


    【解决方案1】:

    这是一个可能有助于了解一些基础知识的示例:

    #Create a matrix
    m <- matrix(1:16,4,4)
    rownames(m) <- letters[1:4]
    colnames(m) <- letters[1:4]
    m
      a b  c  d
    a 1 5  9 13
    b 2 6 10 14
    c 3 7 11 15
    d 4 8 12 16
    
    #Identify the indices for entries in m
    # that are greater than 10 
    m1 <- which(m > 10, arr.ind = TRUE)
    
    #Row and column names of those entries
    # greater than 10. Notice the use of subsetting
    # via [. 
    cbind(rownames(m)[m1[,1]],colnames(m)[m1[,2]])
         [,1] [,2]
    [1,] "c"  "c" 
    [2,] "d"  "c" 
    [3,] "a"  "d" 
    [4,] "b"  "d" 
    [5,] "c"  "d" 
    [6,] "d"  "d" 
    

    与 R 中的任何东西一样,有很多方法可以做这样的事情,但这应该会给你一些有用的工具来使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-20
      • 1970-01-01
      • 2017-08-24
      • 2022-01-02
      • 2016-06-20
      • 1970-01-01
      相关资源
      最近更新 更多