在R中查找我的P值的行名

时间:2015-11-02 15:26:51

标签: r

我有数百个P值,对应于数据框中的行名。我将这些值放入原始表的新行中:

df1$Pvalues<-lapply(1:nrow(data1), function(i) { 
    wilcox.test(as.numeric(data1[i, ]), as.numeric(data2[i, ]))$p.value
}))

我找到了前20个最重要的P值,现在需要找出它们对应的列名。我试过了:

which(rownames(df1) %in% c("1.136925e-12"))

但答案是integer(0)

另一种方法是立即打印前20个最重要的P值以及列名,但我所拥有的只是实际的P值。在此命令中,wilcoxon是数据框的名称,其中我有P值的子集:

head(sort(wilcoxon),20)

我是初学者,任何帮助都会受到赞赏!

1 个答案:

答案 0 :(得分:0)

所以,首先你需要找到20个最小的值。例如。对值的向量进行排序,然后索引前20个元素。当您知道要查找的值时,可以使用逻辑向量索引row.names。

x <- sort(df1$Pvalues)[1:20]

row.names(df1)[df1$Pvalues %in% x]