ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-03-02 19:03:23  阅读:292  来源: 互联网

标签:corrgram 绘制 Correlogram library 关联 可视化 OUTPUT data panel


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有