其他分享
首页 > 其他分享> > R | 可视化 | 关联图(Correlogram)

R | 可视化 | 关联图(Correlogram)

作者:互联网

1 用GGally包绘制关联图

1.1 散点矩阵图

用ggpairs()函数绘制,变量的散点图显示在矩阵的左边部分,皮尔逊相关关系显示在右边,对角线上的图为各个变量分布图。

# 加载R包
> library(ggplot2)
> library(GGally)

# 创建数据
> data <- data.frame( var1 = 1:100 + rnorm(100,sd=10), var2 = 1:100 + rnorm(100,sd=27), var3 = rep(1, 100) + rnorm(100, sd = 1)) 
> data$var4 = data$var1 ** 3 
> data$var5 = -(data$var1 ** 2) 
> data$var6 = data$var2 **2

# 绘制关联图
> ggpairs(data, title="correlogram") 

OUTPUT:

若需要颜色区分则可运用ggplot2

> data(flea)
> ggpairs(flea, columns = 2:4, ggplot2::aes(colour=species)) 

OUTPUT:

 若要改变在关联图的每个部分上使用的图的类型,可以用upper参数以及lower参数完成

> data(tips, package = "reshape")
> ggpairs(
+     tips[, c(1, 4, 3, 2)],
+     upper = list(continuous = "density", combo = "box_no_facet"),
+     lower = list(continuous = "points", combo = "dot_no_facet")
+ )

OUTPUT:

1.2 相关关系图

用ggcorr()函数绘制,显示每对变量的相关关系图。method参数可以选择想要的相关类型,如皮尔逊相关。

# 加载R包
> library(ggplot2)
> library(GGally)

# 创建数据
> data <- data.frame( var1 = 1:100 + rnorm(100,sd=10), var2 = 1:100 + rnorm(100,sd=27), var3 = rep(1, 100) + rnorm(100, sd = 1)) 
> data$var4 = data$var1 ** 3 
> data$var5 = -(data$var1 ** 2) 
> data$var6 = data$var2 **2

# 绘制关联图
> ggcorr(data, method = c("everything", "pearson")) 

OUTPUT:

 2 用Corrgram包绘制关联图

用corrgram()函数可以选择在图的上部、下部和对角线显示:散点图、饼图、文本、椭圆、方形图等。panel.ellipse显示椭圆,panel.shade用于显示彩色的方块,panel.pie显示饼状图,panel.pts显示散点图。

# 加载R包
> install.packages("corrgram")
> library(corrgram)

# 选择mtcars数据绘制
> corrgram(mtcars, order=TRUE, lower.panel=panel.shade, upper.panel=panel.pie, text.panel=panel.txt, main="Car Milage Data") 

OUTPUT:

# 加载R包
> install.packages("corrgram")
> library(corrgram)

# 选择mtcars数据绘制
> corrgram(mtcars, order=TRUE, lower.panel=panel.ellipse, upper.panel=panel.pts, text.panel=panel.txt, diag.panel=panel.minmax, main="Car Milage Data") 

OUTPUT:

# 加载R包
> install.packages("corrgram")
> library(corrgram)

# 选择mtcars数据绘制
> corrgram(mtcars, order=NULL, lower.panel=panel.shade, upper.panel=NULL, text.panel=panel.txt, main="Car Milage Data")

OUTPUT:


​​​​​​​

3 用ellipse包绘制关联图

使用R的cor()函数计算数据集的相关矩阵,通过plotcorr()函数来建立一个相关图 ,同时用RColorBrewer包设置颜色,每个相关将被plotcorr()函数表示为一个椭圆。颜色、形状和方向取决于相关值。

# 下载并加载R包
> install.packages("ellipse")
> library(ellipse)
> library(RColorBrewer)

# 数据设置
> data <- cor(mtcars)

# 颜色设置
> colors <- brewer.pal(3, "Spectral")
> colors <- colorRampPalette(colors)(90)

# 绘图
> ord <- order(data[1, ])
> data_ord <- data[ord, ord]
> plotcorr(data_ord , col=colors[data_ord*50+50] , mar=c(1,1,1,1)  )

OUTPUT:

4 直接用plot函数绘制散点图矩阵 

# 数据设置
> data <- mtcars[ , c(1:6)]

# 绘制散点关联图
> plot(data , pch=20 , cex=1.5 )

OUTPUT:

标签:corrgram,绘制,Correlogram,library,关联,可视化,OUTPUT,data,panel
来源: https://blog.csdn.net/Luminoll/article/details/123207067