R语言作图:散点图矩阵

  • Post author:
  • Post category:其他

怎么画散点图矩阵?

data <- data.frame(x=c(1,2.5,3),y=c(3,5,6),z=c(2,3,5))
data
pairs(data[,1:3])

怎么看散点图矩阵?

第一行第二个图表示的是y与x的关系,其中y为横坐标,x为纵坐标

第一行第三个图表示的是z与x的关系,其中z为横坐标,x为纵坐标

第二行第一个图表示的是x与y的关系,其中x为横坐标,y为纵坐标

第二行第三个图表示的是z与y的关系,其中z为横坐标,y为纵坐标

第三行第一个图表示的是x与z的关系,其中x为横坐标,z为纵坐标

第三行第二个图表示的是z与y的关系,其中y为横坐标,z为纵坐标

为什么选择散点图矩阵?

散点图矩阵是散点图的高维扩展,它在一定程度上克服了在平面上展示高维数据的困难,在展示多维数据的两两关系时有着不可替代的作用。散点图矩阵通过二维坐标系中的一组点来展示两个变量之间的关系,散点图矩阵就是将多维数据中的各个维度两两组合绘制成一系列的按规律排列的散点图。散点图矩阵的优点主要是能快速发现成对变量之间的关系,缺点是当数据维度太大时,屏幕的大小会限制显示矩阵元素的数量,需要结合交互技术来实现用户对可视化结果的观察。

总之,它能简洁而优雅地反映出大量信息,比如变化趋势和关联程度等等。

怎么画出更加美观的散点图

我们可以用GGally包中的ggpairs函数来实现,ggpairs的语法与ggplot相似,ggplot作图见前面几篇文章

以iris数据集为例展示如何画

ggpairs(iris,
        columns=1:4,#以iris前4列数据作图,分析两两之间的关系
        mapping=ggplot2::aes(colour=Species),#以Species为类别分类展示
        upper = list(continuous=wrap("cor",method="pearson")),#展示相关系数,使用pearman相关系数
        lower = list(continuous=wrap("smooth",method="lm")))#方法:线性拟合

upper为右上角数据,即相关性和显著性标记

lower左下角为成对变量散点图

diag为对角线,展现密度曲线图

其中upper,lower,diag 函数都有内置参数continuous,combo,discrete,na,含义为:

#continuous为各种数据类型设置显示形式

#combo 设置combo数据类型的绘图参数

#discrete 设置discrete数据类型的绘图参数。

#na 设置参数名称与成对数据类型名称一致。

参考

R统计绘图-多变量相关性散点矩阵图(GGally::ggpairs())


版权声明:本文为weixin_55798278原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。