library(corrplot)
data <- read.table(file.choose(), header = T,sep = '\t')
new_data <- data[,-1]
?cor
??par
pr <- cor(new_data, method = "pearson")
pr1 <- cor(x= new_data[1:10],y = new_data[11:18], method = "pearson")
pr2 <- cor(x = data[1:3],y = data[4:9])
View(pr1)
res <- cor.mtest(data, method = "pearson",conf.level = 0.95)
View(res)
col1 <- colorRampPalette(c("#7F0000", "red", "#FF7F00", "yellow", "white",
"cyan", "#007FFF", "blue","#00007F"))
col2 <- colorRampPalette(c( "#053061","#2166AC","#4393C3","#92C5DE","#D1E5F0",
"#FFFFFF","#FDDBC7","#F4A582","#D6604D","#B2182B","#67001F" ))
col3 <- colorRampPalette(c("red", "white", "blue"))
col4 <- colorRampPalette(c("#7F0000", "red", "#FF7F00", "yellow", "#7FFF7F",
"cyan", "#007FFF", "blue", "#00007F"))
#添加显著性
#首先构建cor.mtest函数
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
}
pv <- cor.mtest(new_data)
pv1<- pv[c(1:10),c(11:18)]
corrplot(pr1, tl.cex = 0.75,method = "ellipse", tl.col = "black",
cl.ratio = 0.1,mar = c(1.1,1.1,2.1,2.1), p.mat=pv1, sig.level = c(0.001,0.01,0.05), insig = "label_sig",
pch.cex = 1.5, tl.srt = 90,col = col2(100),)