我使用以下代码创建相关矩阵并生成p值。如何为每个相关性创建调整后的p值?
library(corrplot)
#Running correlation
M = cor(mtcars)
#identifying pvalues
testRes = cor.mtest(mtcars, conf.level = 0.95)
#creating pairwise p value
pval = as.data.frame(as.table(testRes$p))
head(pval)
输出为:
Var1 Var2 Freq
<fct> <fct> <dbl>
1 mpg mpg 0.000000e+00
2 cyl mpg 6.112687e-10
3 disp mpg 9.380327e-10
4 hp mpg 1.787835e-07
5 drat mpg 1.776240e-05
6 wt mpg 1.293959e-10
如何计算调整后的pvalue并将其添加到pvalue之后的列中?
2条答案
按热度按时间flvlnr441#
可以使用
bcdstats
生成adjusted pvalue。输出:
dzhpxtsq2#
其实就是
cbind(<res>, p.adj=p.adjust(<res>$p, method='BH'))
。首先是不使用corrplot包的相关性 p 值解决方案。
现在,
cbind
调整p值;我使用Benjamini-Hochberg(又名 * 错误发现率 *(FDR))方法。有关选项,请参见?p.adjust
。如果你喜欢管道,你可以这样做: