从矩阵中提取行名和列名及其值

Extracting row and column names with its value from matrix

我的矩阵是这样的-

          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 脚本,它为我提供了行名和列名,但我还希望第 3 列包含其值

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] ] )

您可以使用 sig_valuesPmatrix

进行子集化
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