进行相关性分析之后,就要选择分析结果的展示形式。前面介绍过是用corrplot包绘制相关性热图展示结果(R统计绘图-corrplot绘制热图及颜色、字体等细节修改),这里介绍另一种展示形式,使用ggplot2绘图扩展包-GGally包的ggpairs()展示相关性分析结果,图中同时展示数据散点图和相关性结果。这在R统计绘图-One-Way MANOVA一文中有展示过。
一、 数据准备
# 1.1 设置工作路径
setwd("D:\\EnvStat\\corrplot")
# 1.2 加载R包
#library(devtools)
#install_github("ggobi/ggally")
install.packages("GGally")
library(GGally)
library(rstatix)
# 1.3 读入数据
env = read.csv("env.csv",header = TRUE,row.names = 1)
env
图1|环境因子及分组信息表,env.csv。行为样品名称,列为环境因子名称和分组信息,共有14个环境变量,3个分组信息。
二、 相关性分析及绘图
ggpairs()绘图的同时,可设置相关性计算参数。
vig_ggally("ggpairs") # 查看ggally包指定函数的帮助文件
#?ggpairs # 查看帮助信息
# 2.1 默认参数绘图
p1 = ggpairs(env, # 默认对表中的所有(定性/定量)变量绘制成对比较图。
# 字符/因子列中允许的最大分类数,默认为15,设置cardinality_threshold = NULL,这不限制最大分类数。
cardinality_threshold = 15)
pdf("p1.pdf",height = 20,width = 20,family = "Times")
print(p1)
dev.off()
图2|默认参数绘图,p1。定性与定量变量都可绘制。
# 2.2 选择指定列绘图
#p2 = ggpairs(env, columns = c(4:14)) # 两个代码效果一致
p2 = ggpairs(env[4:14]) # 默认左下角(lower)为成对变量散点图,对角(diag)为密度曲线图,右上角(upper)为相关性系数和显著性标记。
#p2 = ggpairs(env, columns = c(colnames(env[4:14])), columnLabels = c(colnames(env[4:7]),"ammonia",colnames(env[9:14]))) # columnLabels可以更改变量名
pdf("p2.pdf",height = 11,width = 11,family = "Times")
print(p2)
dev.off()
图3|指定变量绘图,p2。只绘制定量变量相关性。
# 2.3 使用分组信息对变量进行分类
library(ggsci)
cols = pal_d3("category10")(10)
p3 = ggpairs(env,
mapping = ggplot2::aes(color = tillage,shape = depth),
columns = c(colnames(env[4:14])))+
ggplot2::scale_color_manual(values = cols)+ # 设置的颜色只应用于upper和lower。
ggplot2::scale_shape_manual(values = c(15:17))
pdf("p3.pdf",height = 15,width = 15,family = "Times")
print(p3)
dev.off()
图4|使用分组信息设置绘图参数