根据第二矩阵中的p值从相关矩阵中提取值

时间:2014-03-04 08:29:41

标签: r matrix extract apply correlation

我用外部程序(SparCC)创建了一个相关矩阵。我也从SparCC中的相同数据计算了p值,最后我将两个对象导入到R中,让我们称之为corrpval

> 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矩阵中的位置列表,因此我对如何为每个所需项检索colnamesrownames感到有些不知所措。

有没有更简单的方法来做我想要的事情,比如在R中从头开始创建一个关联对象(这是可能的吗?),它包含corrpval矩阵并提取重要数据值?我在Python中找到了this solution,但是如果R的解决方案比我想象的要简单,那么R的解决方案将非常受欢迎。

感谢您的帮助!

编辑:python示例不保留标题。

1 个答案:

答案 0 :(得分:1)

你可以简单地做

corr[pval < 0.1]