相关系数分析在很多领域都有涉及,而可视化则是对其结果最好的体现。不过我的能力有限,目前的水平也仅整合了3个包。欢迎大家指导评价。
1、 corrplot包
获取数据及相关性分析。
coo <- read.csv("相关系数5.csv",header = T)
head(coo)
res <- cor(coo)
res
R包实现。
library(corrplot)
corrplot(res)
corrplot(res,method="shade",shade.col=NA,tl.col="black",tl.srt=45) #阴影图
corrplot(res,method="circle",shade.col=NA,tl.col="black",tl.srt=45) #圆 默认也是圆
corrplot(res,method="pie",shade.col=NA,tl.col="black",tl.srt=45) #饼图
corrplot(res,method="square",shade.col=NA,tl.col="black",tl.srt=45) #方形
corrplot(res,method="ellipse",shade.col=NA,tl.col="black",tl.srt=45) #椭圆
corrplot(res, method="number",shade.col=NA,tl.col="black",tl.srt=45)#数字
corrplot(res,method="color",shade.col=NA,tl.col="black",tl.srt=45) #颜色
corrplot(res, type = "upper", order = "hclust", tl.col = "black", tl.srt = 45) #上三角
corrplot.mixed(res) #图形和数值混合矩阵
corrplot.mixed(res, lower.col = "black", number.cex = .7)#文字看不清,可以设置文字为黑色和大小
corrplot(res, order = "hclust", addrect = 2) #按hclust聚类方式排序,addrect是添加分组矩形,可自定义分组类,类似于平时热图的kmean分组方式。用于表现研究对象可分类的特点,方便继续分类讨论或研究
col3 <- colorRampPalette(c("red", "white", "blue"))
corrplot(res, order = "AOE", cl.pos = "n", tl.pos = "n") #关闭图例和标签
corrplot(abs(res),order = "AOE", cl.lim = c(0, 1)) #修改图例范围
res1 <- cor.mtest(res, conf.level = .95)
corrplot(res, p.mat = res1$p, sig.level = .01) #设置没通过统计的相关性结果打X
## leave blank on no significant coefficient
corrplot(res, p.mat = res1$p, insig = "blank")
## add p-values on no significant coefficient
corrplot(res, p.mat = res1$p, insig = "p-value")
## add all p-values
corrplot(res, p.mat = res1$p, insig = "p-value", sig.level = -1)
## star level
corrplot(res, p.mat = res1$p, insig = "label_sig",
sig.level = c(.001, .01, .05), pch.cex = .9, pch.col = "white")
#还可设置不显著的空白,或显示p值;更可以利用此方法显示所有p值,或用*数量代表显示性
2、ggcorrplot
library(ggcorrplot)
ggcorrplot(res) #method默认为正方形
ggcorrplot(res, method = "circle") #方法为圆
p.mat <- cor_pmat(coo)
head(p.mat[, 1:4])
ggcorrplot(res, hc.order = TRUE, outline.color = "white") #重排矩阵,使用分等级聚类
ggcorrplot(res, hc.order = TRUE, type = "lower", outline.color = "white") #控制矩阵形状 #下三角形
ggcorrplot(res, hc.order = TRUE, type = "upper", outline.color = "white") #上三角形
ggcorrplot(res, hc.order = TRUE, type = "lower", outline.color = "white",
ggtheme = ggplot2::theme_gray, colors = c("#6D9EC1", "white", "#E46726")) #更改颜色以及主题
ggcorrplot(res, hc.order = TRUE,type = "lower", lab = TRUE) #添加相关系数
ggcorrplot(res, hc.order = TRUE, type = "lower", p.mat = p.mat) #增加显著性水平,不显著的话就不添加了
ggcorrplot(res, p.mat = p.mat, hc.order=TRUE, type = "lower", insig = "blank",main="re") #将不显著的色块设置成空白
3、PerformanceAnalytics包
library(PerformanceAnalytics)#加载包
chart.Correlation(res, histogram=TRUE, pch=19) #scatter plots
col<- colorRampPalette(c("blue", "white", "red"))(20)#调用颜色版自定义颜色
heatmap(x = res, col = col, symm = TRUE)#symm表示是否对称 heatmap