R统计绘图-多变量相关性散点矩阵图(GGally::ggpairs())

本文介绍了如何利用R语言的GGally包和ggpairs()函数来展示多变量相关性分析的结果。通过不同参数设置,可以绘制包含散点图和相关性的矩阵图,适用于定量和定性变量。内容包括默认参数绘图、指定变量绘图、分组信息设置、自定义函数调整、子图提取和调整等步骤,提供了一系列示例图以供参考。
摘要由CSDN通过智能技术生成

进行相关性分析之后,就要选择分析结果的展示形式。前面介绍过是用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|使用分组信息设置绘图参数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EcoEvoPhylo

值得点赞吗?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值