散点图矩阵是一种对多个变量两两之间的关系进行可视化的有效方法。本文分别以graphics、psych、GGally、car、lattice等5种不同的package为例,展示散点图矩阵的绘制过程。
数据准备
使用R自带的mtcars数据集进行演示。
head(mtcars) #查看数据集
# mpg cyl disp hp drat wt qsec vs am gear carb
#Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
str(mtcars)
#'data.frame': 32 obs. of 11 variables:
选择"mpg", "disp", "hp", "drat"四个变量,绘制散点图矩阵。
cor.mtcars <- mtcars[c("mpg", "disp", "hp", "drat")]
head(cor.mtcars)
# mpg disp hp drat
#Mazda RX4 21.0 160 110 3.90
#Mazda RX4 Wag 21.0 160 110 3.90
#Datsun 710 22.8 108 93 3.85
1、graphics包
pairs(cor.mtcars) #graphics包为R基础包,无需安装与加载
2、psych包
install.packages("psych") #安装package
library(psych) #加载
pairs.panels(cor.mtcars)
图形解读:对角线上方为相关系数矩阵;对角线为每个变量数值分布的直方图;对角线下方的椭圆表示两个变量的相关性,椭圆越扁,变量间的相关性越强;对角线下方散点图中绘制的曲线为局部回归曲线(loess curve);位于椭圆中心的点为两个变量均值所确定的点。
pairs.panels(cor.mtcars,lm = TRUE, pch = 21, stars = TRUE, ci = TRUE, hist.col="grey80")
对pairs.panels() 函数内的绘图参数进一步调整:将局部回归修改为线性回归,点的形状设置为21,标注显著性,显示95%的置信域,对角线的直方图颜色设置为"grey80"颜色。
3、GGally包
install.packages("GGally") #安装package
library(GGally) #加载
ggpairs(cor.mtcars)
ggscatmat(cor.mtcars)
4、car包
install.packages("car") #安装package
library(car) #加载
spm(cor.mtcars)
5、lattice包
install.packages("lattice") #安装package
library(lattice) #加载
splom(cor.mtcars)
其他
本文展示了5种不同package绘制散点图矩阵的基本过程,此外,每个绘图函数内还有若干可供调整图形的参数,能够进一步丰富图形。可使用help(函数名) 进行查看,如想了解更多关于pairs() 的信息,可在控制台输入help(pairs) 命令,显示如下信息,通过阅读可以进一步了解pairs() 函数在绘制图形过程中的参数控制。
pairs(x, smooth = TRUE, scale = FALSE, density=TRUE,ellipses=TRUE,
digits = 2,method="pearson", pch = 20, lm=FALSE,cor=TRUE,jiggle=FALSE,factor=2,
hist.col="cyan",show.points=TRUE,rug=TRUE, breaks = "Sturges",cex.cor=1,wt=NULL,
smoother=FALSE,stars=FALSE,ci=FALSE,alpha=.05, ...)
如有帮助请多多点赞哦!
文章转载自日常分享的小懒猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。