R语言也是目前常用的数据分析编程语言之一,目前经过使用者、科学家们的开发,其功能也比较强大。本文就使用R语言中的corrplot来绘制相关系数矩阵热图进行介绍。
下面以波士顿Boston的房价数据为例,这个数据是数据挖掘、机器学习中常用的数据,可以到UCI的机器学习数据库去下载:https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data
数据集有506个观测样本,14个变量:
首先,将数据导入R软件中:
> mydata<-read.table('E:/Boston-house-prices.csv',head=T,sep=',',stringsAsFactors = FALSE )
> summary(mydata)
然后计算相关系数,并下载相关系数矩阵corrplot包:
> res <- cor(mydata)
> install.packages("corrplot") #下载相关系数矩阵corrplot包
> corrplot(res, method = "shade",shade.col = NA, tl.col ="black", tl.srt = 45, order = "AOE") # 绘制相关系数矩阵图
得到图形:相关系数图中颜色越深表示,两个变量间的相关系数越接近1.图中可以看到,Boston的中位数房价(MEDV)一列中,与LSTAT、PTRATIO、RM等变量间的相关关系最大。
下面着重说说corrplot这个函数:
在corrplot(res, method = "shade",shade.col = NA, tl.col ="black", tl.srt = 45, order = "AOE") 这条命令中,
res:代表需要可视化的相关系数矩阵;
method = "shade"代表指定可视化的方法,可以是圆形、方形、椭圆形、数值、阴影、颜色或饼图形,method = c("circle", "square", "ellipse", "number", "shade", "color", "pie");
shade.col = NA:指定图形展示的颜色,默认以均匀的颜色展示;
tl.col:指定文本标签的颜色,即图形的文字标签是什么颜色的,默认为黑色;
tl.srt = 45,表示文字标签的大小;
order = "AOE":指定相关系数排序的方法,可以是原始顺序(original)、特征向量角序(AOE)、第一主成分顺序(FPC)、层次聚类顺序(hclust)和字母顺序,一般”AOE”排序结果都比”FPC”要好,order = c("original", "AOE", "FPC", "hclust", "alphabet")。
根据corrplot函数不同的属性,可以变换属性,绘制不同的相关系数矩阵热图: