Tidyverse自学笔记-相关系数图

8.2 相关系数图(correlation matrix)

8.2.1 认识相关系数图

相关系数是最早由统计学家卡尔·皮尔逊设计的统计指标,是研究变量之间线性相关程度的量,一般用字母r表示。取值范围为[-1,1],“(0,1]”为正相关,“[-1,0)”为负相关,“0”表示线性不相关。研究两个变量间相关可以通过散点图展示,当变量较多时,可通过相关系数矩阵展示,相关系数图就是相关系数矩阵的可视化。

从左上到右下方向的对角线上,均是两个相同变量的相关,其数值均是 1,对角线以上部分的相关系数与以下部分的相关系数是对称的。

相关系数矩阵图主要包括热力图、气泡图或方块图、椭圆图。

热力图:将一个网格矩阵映射到指定的颜色序列上,恰当地选取颜色来展示数据。
所有的数据都在-1到1之间,正负号表示正相关和负相关,红色表示正相关系数,蓝色表示负相关系数。热图适用于显示多个变量之间的差异;显示当中任何模式;显示是否有彼此相似的变量;以及检测彼此之间是否存在任何相关性。

气泡图:将一个网格矩阵映射到气泡的面积大小和颜色序列上。
气泡图使用三个值来确定每个数据序列,其中 X轴和Y轴分别代表不同的两个维度的数据,气泡的面积代表第三个维度的数据,即相关矩阵的绝对值大小;红色表示正相关系数,蓝色表示负相关系数。也可以将圆圈换成方块;

椭圆图:利用椭圆的形状来表示相关系数:离心率越大,椭圆越扁,对应绝对值 较大的相关系数;离心率越小,椭圆越圆,对应绝对值较小的相关系数。

8.2.2 绘制相关关系图

1、ggplot2 绘制热图

library(RColorBrewer) # 调用RColorBrewer包。
data2 <- mtcars[5:8] # 选取mtcars数据集5到8列数据为例。
data2_cor <- round(cor(data2), 1) # 求算data2数据集相关系数。library(reshape2) # 调用reshape2包。
mydata <- melt(data2_cor) # 相关系数矩阵转长数据格式。
colnames(mydata)<-c("Var1","Var2","value") # 定义mydata数据集列名。
ggplot(mydata, aes(x = Var1, y = Var2, fill = value, label = value)) +
geom_tile(colour = "black") +
geom_text(size = 3,colour = "white")+
coord_equal()+ scale_fill_gradientn(colours = c(brewer.pal(7, "Set1")[2], "white", brewer.pal(7, "Set1")[1]), na.value = NA) # 绘制相关系数图。

绘制气泡图

mydata$AbsValue <- abs(mydata$value) 
ggplot(mydata, aes(x = Var1, y = Var2)) +
geom_point(aes(size = AbsValue, fill = value), shape=21, colour = "black") +
scale_fill_gradientn(colours = c(brewer.pal(7,"Set1")[2], "white", brewer.pal(7,"Set1")[1]), na.value = NA)+ scale_size_area(max_size = 12, guide = "none") # 绘制气泡相关系数图。

2、corrplot包

library(corrplot) # 调用corrplot包。
## corrplot 0.92 loaded
corrplot.mixed(data2_cor) # 绘制相关系数图。默认为圆形。
corrplot(data2_cor, method = "ellipse", type = "upper") # 椭圆图。
corrplot(data2_cor, method = "square", type = "upper") # 方块图。
corrplot(data2_cor, method = "color", type = "upper") # 颜色填充。
corrplot(data2_cor, method = "number", type = "upper") # 数值。

3、performanceAnalytics包

library(PerformanceAnalytics) # 调用PerformanceAnalytics包。
chart.Correlation(data2, histogram = TRUE, pch = 15) # 绘制相关系数图。

4、GGally包

library(GGally) # 调用GGally包。
ggpairs(data2) # 相关系数图。
ggpairs(df, columns = 5:9, ggplot2::aes(colour = nitrogen)) # 按分组绘制相关系数图。
ggcorr(df[5:9], method = c("everything", "pearson")) # ggcorr函数绘制相关系数图。

5、corrgram包

library(corrgram) # 调用corrgram包。corrgram(data2) # 基本相关系数图。
corrgram(data2, lower.panel = panel.shade, upper.panel = panel.pie) # 基本相关系数图。

默认地,蓝色和从左下指向右上的斜杠表示单元格中的两个变量呈正相关。反过来,红色和从左上指向右下的斜杠表示变量呈负相关。色彩越深,饱和度越高,说明变量相关性越大。相关性接近于0的单元格基本无色。

参考资料

  • ggplot2: 数据分析与图形艺术,西安交通大学出版社,2013.

  • R语言数据可视化之美:专业图表绘制指南,电子工业出版社,2019.

  • R数据科学,人民邮电出版社,2018.

  • R数据可视化手册,人民邮电出版社,2014.

  • 本文使用 文章同步助手 同步

    ©著作权归作者所有,转载或内容合作请联系作者
    • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
      沈念sama阅读 216,372评论 6 498
    • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
      沈念sama阅读 92,368评论 3 392
    • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
      开封第一讲书人阅读 162,415评论 0 353
    • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
      开封第一讲书人阅读 58,157评论 1 292
    • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
      茶点故事阅读 67,171评论 6 388
    • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
      开封第一讲书人阅读 51,125评论 1 297
    • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
      沈念sama阅读 40,028评论 3 417
    • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
      开封第一讲书人阅读 38,887评论 0 274
    • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
      沈念sama阅读 45,310评论 1 310
    • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
      茶点故事阅读 37,533评论 2 332
    • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
      茶点故事阅读 39,690评论 1 348
    • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
      沈念sama阅读 35,411评论 5 343
    • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
      茶点故事阅读 41,004评论 3 325
    • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
      开封第一讲书人阅读 31,659评论 0 22
    • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
      开封第一讲书人阅读 32,812评论 1 268
    • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
      沈念sama阅读 47,693评论 2 368
    • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
      茶点故事阅读 44,577评论 2 353

    推荐阅读更多精彩内容