我有两个与以下示例类似的矩阵
垫子1
row.names geneid1 geneid2 geneid3 geneid4 geneid5
sample1 0.99 8.76 8.78 7.65 5.4
sample2 5.6 6.76 7.4 9.08 8.2
sample4 7.5 6.4 6.4 6.1 8.6
垫子2
row.names geneid1 geneid2 geneid3 geneid4 geneid5
sample1 0.98 8.76 8.78 4.65 5.4
sample2 0.6 6.76 1.4 9.78 6.2
sample4 9.5 9.4 3.4 5.1 8.0
如果我发现它们之间的相关性和
cormat<cor(mat1,mat2)
结果矩阵看起来像这样
geneid1 geneid2 geneid3 geneid4 geneid5
geneid1 0.1 0.14 0.58 0.89 0.5
geneid2 0.6 -0.2 0.4 0.45 0.6
geneid3 0.5 0.7 0.3 -0.4 0.76
geneid4 0.65 0.64 0.76 0.45 0.7
geneid5 0.3 0.2 0.6 0.2 0.2
我想在矩阵中选择那些高于阈值 0.5 的值并省略其余的值。我只想要在行和列上高于该值的基因 ID 号。我尝试使用
which(cormat>0.5)
但我不明白如何用原始矩阵索引它们,只保留那些高于 0.5 的行和列。除了索引之外,还有其他方法可以选择高度相关的值进行进一步分析。