相关图中的p值(corrplot)

时间:2014-01-15 21:51:43

标签: r correlation r-corrplot

我想绘制两个矩阵之间的相关性,添加p值(具有p值大于0.05的白色单元格) 我在corrplot包装手册上找到了这段代码。

library(corrplot)

cor.mtest <- function(mat, conf.level = 0.95) {
mat <- as.matrix(mat)
n <- ncol(mat)
p.mat <- lowCI.mat <- uppCI.mat <- matrix(NA, n, n)
diag(p.mat) <- 0
diag(lowCI.mat) <- diag(uppCI.mat) <- 1
for (i in 1:(n - 1)) {
    for (j in (i + 1):n) {
        tmp <- cor.test(mat[, i], mat[, j], conf.level = conf.level)
        p.mat[i, j] <- p.mat[j, i] <- tmp$p.value
        lowCI.mat[i, j] <- lowCI.mat[j, i] <- tmp$conf.int[1]
        uppCI.mat[i, j] <- uppCI.mat[j, i] <- tmp$conf.int[2]
    }
}
return(list(p.mat, lowCI.mat, uppCI.mat))
}

res1 <- cor.mtest(mtcars, 0.95)

##specialized the insignificant value according to the significant level
corrplot(M, p.mat = res1[[1]], sig.level = 0.2)

我假设mtcars是我的数据框...如何使用两个矩阵修改代码?

我使用corr.test库中的psych计算了相关性。

cor.matrix <- corr.test(data1,data2,method="spearman")

但如果我尝试:

res1 <- cor.mtest(cor.matrix, 0.95)

它给我一个错误......

如何修改此代码?

0 个答案:

没有答案