【问题标题】:Extracting row and column names with its value from matrix从矩阵中提取行名和列名及其值
【发布时间】:2019-09-11 12:38:35
【问题描述】:

我的矩阵是这样的-

          MU101188  MU101310    MU101326    MU10251
MU101188    1        0.506       -0.006     -0.006
MU101310   -0.006       1        -0.006     -0.006
MU101326  -0.006    -0.006            1     -0.006
MU10251   -0.006    -0.006        0.806         1

我需要提取其值大于或等于 0.5 的所有对。我正在使用以下 R 脚本,它给了我行和列的名称,但我还想要第三列包含它的值

Pmatrix = read.csv ("file.csv", header= TRUE, row.names = 1)
sig_values <- which(Pmatrix>=0.5, arr.in=TRUE)
cbind.data.frame(colIDs = colnames(Pmatrix)[ sig_values[, 1] ],rowIDs = rownames(Pmatrix)[ sig_values[, 2] ] )

【问题讨论】:

    标签: r csv matrix row col


    【解决方案1】:

    您可以使用 sig_values 子集 Pmatrix

    cbind.data.frame(colIDs = colnames(Pmatrix)[sig_values[, 1]],
                     rowIDs = rownames(Pmatrix)[sig_values[, 2]], 
                     values = Pmatrix[sig_values])
    
    
    #    colIDs   rowIDs values
    #1 MU101188 MU101188  1.000
    #2 MU101188 MU101310  0.506
    #3 MU101310 MU101310  1.000
    #4 MU101326 MU101326  1.000
    #5  MU10251 MU101326  0.806
    #6  MU10251  MU10251  1.000
    

    【讨论】:

      猜你喜欢
      • 2011-08-10
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 2014-08-07
      • 2012-12-27
      • 1970-01-01
      • 2016-02-05
      • 2012-04-13
      相关资源
      最近更新 更多