ggcorr()是一个基于ggplot2,进行相关性矩阵可视化的R包。
官方说明书:
https://briatte.github.io/ggcorr/
1.安装
> install.packages("GGally")
或者:
> source("https://raw.githubusercontent.com/briatte/ggcorr/master/ggcorr.R")
依赖包:
> library(ggplot2)
> library(GGally)
2.实例
示例数据:
http://datasets.flowingdata.com/ppg2008.csv
2.1 读取数据
> nba<-read.csv("ppg2008.csv")
> head(nba)
Name G MIN PTS FGM FGA FGP FTM FTA FTP X3PM X3PA X3PP ORB DRB TRB
1 Dwyane Wade 79 38.6 30.2 10.8 22.0 0.491 7.5 9.8 0.765 1.1 3.5 0.317 1.1 3.9 5.0
2 LeBron James 81 37.7 28.4 9.7 19.9 0.489 7.3 9.4 0.780 1.6 4.7 0.344 1.3 6.3 7.6
3 Kobe Bryant 82 36.2 26.8 9.8 20.9 0.467 5.9 6.9 0.856 1.4 4.1 0.351 1.1 4.1 5.2
4 Dirk Nowitzki 81 37.7 25.9 9.6 20.0 0.479 6.0 6.7 0.890 0.8 2.1 0.359 1.1 7.3 8.4
5 Danny Granger 67 36.2 25.8 8.5 19.1 0.447 6.0 6.9 0.878 2.7 6.7 0.404 0.7 4.4 5.1
6 Kevin Durant 74 39.0 25.3 8.9 18.8 0.476 6.1 7.1 0.863 1.3 3.1 0.422 1.0 5.5 6.5
AST STL BLK TO PF
1 7.5 2.2 1.3 3.4 2.3
2 7.2 1.7 1.1 3.0 1.7
3 4.9 1.5 0.5 2.6 2.3
4 2.4 0.8 0.8 1.9 2.2
5 2.7 1.0 1.4 2.5 3.1
6 2.8 1.3 0.7 3.0 1.8
2.2 基础绘图
第一列为人名,不在相关性分析中,去掉第一列数据进行分析。
> ggcorr(nba[,-1])
2.3 相关性函数
ggcorr支持cor函数提供的所有相关性方法,可以通过method =参数进行指定,默认皮尔森相关。
# Pearson correlation coefficients, using pairwise observations (default method)
> ggcorr(nba[, -1], method = c("pairwise", "pearson"))
# Pearson correlation coefficients, using all observations
> ggcorr(nba[, -1], method = c("everything", "pearson"))
# Kendall correlation coefficients, using complete observations
> ggcorr(nba[, -1], method = c("complete", "kendall"))
# Spearman correlation coefficients, using strictly complete observations
> ggcorr(nba[, -1], method = c("all.obs", "spearman"))
2.4 颜色控制
ggcorr()通过连续的颜色变化展示相关性程度,可以通过nbreaks =参数设置颜色梯度。
> ggcorr(nba[, 2:15], nbreaks = 5)
修改配色:
> ggcorr(nba[, 2:15], low = "steelblue", mid = "white", high = "darkred")
2.5 主题修改
其他包括图题、图例的大小,以及字体字号等,都可以通过guide函数或者ggplot2的theme函数进行修改。
> ggcorr(nba[, 2:15], name = expression(rho), legend.position = "bottom", legend.size = 12) +
guides(fill = guide_colorbar(barwidth = 18, title.vjust = 0.75)) +
theme(legend.title = element_text(size = 14))
添加图标题:
> ggcorr(nba[,5:15],label = T) + ggtitle("Person’s correlation for the nba") + theme(plot.title = element_text(size = 18, face = "bold", hjust = 0.5)) + guides(fill = guide_colorbar( title.vjust = 0.75)) + theme(legend.title = element_text(size = 14))
2.6 图形形状
每个格子的形状可以从方形改为圆形,geom = "circle"
> ggcorr(nba[, 2:15], geom = "circle", nbreaks = 5)
2.7 相关系数
通过label参数的TRUE or FALSE控制图形中是否显示相关性系数。
> ggcorr(nba[, 2:15], label = TRUE)
label_size 和 label_color 控制相关系数的字体大小以及颜色:
> ggcorr(nba[, 2:15], nbreaks = 4, palette = "RdGy", label = TRUE, label_size = 3, label_color = "white")
label_round:相关系数显示的小数点位数;
label_alpha:TRUE or FALSE,系数是否透明
2.8 性状名称相关参数调整
> ggcorr(nba[, 3:16], hjust = 0.75, size = 5, color = "grey50", layout.exp = 1)
引用转载请注明出处,如有错误敬请指出。
网友评论