如何在q图中包含p值<0.05?

时间:2016-02-03 13:10:44

标签: r plot p-value r-qgraph

我正在跟进一个没有回答的旧问题(https://stackoverflow.com/questions/31653029/r-thresholding-networks-with-inputted-p-values-in-q-graph)。我正在尝试评估我的变量之间的关系。为此,我使用了相关网络图。一旦我这样做,我想实现一个显着性阈值组件。例如,我想仅显示p值<0.05的结果。关于如何实现我的代码的任何想法?

数据集:https://www.dropbox.com/s/xntc3i4eqmlcnsj/d100_partition_all3.csv?dl=0

我的代码:

library(qgraph)
cor_d100_partition_all3<-cor(d100_partition_all3)
qgraph(cor_d100_partition_all3, layout="spring",  
   label.cex=0.9, labels=names(d100_partition_all3), 
   label.scale=FALSE, details = TRUE)

输出:enter image description here

此外,我有一小段代码将R2值转换为p.values:

代码:

cor.mtest <- function(mat, ...) {
mat <- as.matrix(mat)
n <- ncol(mat)
p.mat<- matrix(NA, n, n)
diag(p.mat) <- 0
for (i in 1:(n - 1)) {
  for (j in (i + 1):n) {
  tmp <- cor.test(mat[, i], mat[, j], ...)
  p.mat[i, j] <- p.mat[j, i] <- tmp$p.value
 }
}
colnames(p.mat) <- rownames(p.mat) <- colnames(mat)
p.mat
}
p.mat <- cor.mtest(d100_partition_all3)

干杯

1 个答案:

答案 0 :(得分:1)

有几种方法可以只绘制重要的相关性。首先,您可以将其他参数传递给qgraph(cor_d100_partition_all3 , layout="spring" , label.cex=0.9 , labels=names(d100_partition_all3) , label.scale=FALSE , details = TRUE , minimum='sig' # minimum based on statistical significance ,alpha=0.05 # significance criteria ,bonf=F # should Bonferroni correction be used ,sampleSize=6 # number of observations ) 函数。您可以查看文档以获取更多详细信息。下面给出的函数调用应该具有接近所需的值。

cor.mtest()

enter image description here

第二种选择是创建修改的相关矩阵。当基于您的# initializing modified correlation matrix cor_d100_partition_all3_mod <- cor_d100_partition_all3 # looping through all elements and setting values to NA when p-values is greater than 0.05 for(i in 1:nrow(cor_d100_partition_all3)){ for(j in 1:nrow(cor_d100_partition_all3)){ if(p.mat[i,j] > 0.05){ cor_d100_partition_all3_mod[i,j] <- NA } } } # plotting result qgraph(cor_d100_partition_all3_mod ,layout="spring" ,label.cex=0.7 ,labels=names(d100_partition_all3) ,label.scale=FALSE ,details = F ) 函数的相关性不具有统计显着性时,在修改的相关矩阵中将该值设置为NA。绘制该修改的矩阵。第一和第二解决方案之间的主要视觉差异似乎是相对线宽。

answers[questionindex] = answer

enter image description here