我用外部程序(SparCC)创建了一个相关矩阵。我也从SparCC中的相同数据计算了p值,最后我将两个对象导入到R中,让我们称之为corr
和pval
和
> ncol(corr)==nrow(corr)
[1] TRUE
> ncol(pval)==nrow(pval)
[1] TRUE
和
> colnames(corr)==rownames(pval)
[1] TRUE ...
和反过来相同。
由于矩阵(或者我应该使用data.frame
?)是相当大的(大约1000项),我想通过查找它们的p-从corr
矩阵中提取显着的相关性。 pval
矩阵中的值,我已考虑使用apply
执行某些操作:
extracted.values <- apply(corr, nrows(corr), which(pval<0.1))
但是由于which
的部分实际上不是一个函数,它将输出和错误。
由于which
命令输出了pval矩阵中的位置列表,因此我对如何为每个所需项检索colnames
和rownames
感到有些不知所措。
有没有更简单的方法来做我想要的事情,比如在R中从头开始创建一个关联对象(这是可能的吗?),它包含corr
和pval
矩阵并提取重要数据值?我在Python中找到了this solution,但是如果R的解决方案比我想象的要简单,那么R的解决方案将非常受欢迎。
感谢您的帮助!
编辑:python示例不保留标题。
答案 0 :(得分:1)
你可以简单地做
corr[pval < 0.1]