我的矩阵就是这样-
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] ] )
答案 0 :(得分:0)
您可以使用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