问题描述
我通常使用以下代码来生成一个很好的相关矩阵 - 是否有一种简单方法来控制带有 corrplot 的变量(即,计算偏相关而不是简单相关)?
提前致谢!
library(corrplot)
# mat : is a matrix of data
# ... : further arguments to pass to the native R cor.test function
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
}
#Select a subset of variables into a new df:
myvars <- c("1","2","3","4","5","6","7","8","9","10","11","12","13","14")
DataFactors <- Data[myvars]
M<-cor(DataFactors)
# matrix of the p-value of the correlation
p.mat <- cor.mtest(DataFactors )
head(p.mat[,1:5])
col <- colorRampPalette(c("#BB4444","#EE9988","#FFFFFF","#77AADD","#4477AA"))
corrplot(M,method="color",col=col(200),type="upper",addCoef.col = "black",# Add coefficient of correlation
tl.col="black",tl.srt=45,#Text label color and rotation
# Combine with significance
p.mat = p.mat,sig.level = 0.05,insig = "blank",# hide correlation coefficient on the principal diagonal
diag=FALSE
)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)