返回顶部
首页 > 资讯 > 前端开发 > JavaScript >R语言相关关系可视化函数有哪些
  • 921
分享到

R语言相关关系可视化函数有哪些

2024-04-02 19:04:59 921人浏览 薄情痞子
摘要

本篇内容介绍了“R语言相关关系可视化函数有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、pairs

本篇内容介绍了“R语言相关关系可视化函数有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、pairs {graphics}

1. 参考

  • (1)《现代统计图形》 5.17 散点图矩阵

  • (2)《R数据可视化手册》 5.13绘制散点图矩阵

  • (3)pairs {graphics} 帮助文档

2. 主要参数解释

R语言相关关系可视化函数有哪些

3. 图形示例

3.1 基本图形

pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species", pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)]) # 等同于 pairs(~Sepal.Length+Sepal.Width+Petal.Length+Petal.Width, data=iris,main = "Anderson's Iris Data -- 3 species",pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)])
R语言相关关系可视化函数有哪些

上例选取iris鸢尾花数据集的前4列Sepal.Length 、Sepal.Width  、Petal.Length、Petal.Width作图,同时设置bg使得不同颜色代表不同品种的鸢尾花。可见,默认生成的散点图矩阵对角线为变量名称,上三角和下三角面板的各个窗格均为其所在行与列两个变量之间的散点图,信息传递量相对较少且重复,为此我们可以通过自定义函数进一步修改和优化

3.2 自定义图形

# 1. 自定义函数pannel.cor:显示两两变量间的相关系数,相关系数越大字号越大。 panel.cor <- function(x, y, digits = 2, prefix = "", cex.cor, ...) { usr <- par("usr"); on.exit(par(usr)) par(usr = c(0, 1, 0, 1)) r <- abs(cor(x, y)) txt <- fORMat(c(r, 0.123456789), digits = digits)[1] txt <- paste0(prefix, txt) if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt) text(0.5, 0.5, txt, cex = cex.cor * r) } # 2. 自定义函数pannel.hist:展示各个变量的直方图 panel.hist <- function(x, ...) { usr <- par("usr"); on.exit(par(usr)) par(usr = c(usr[1:2], 0, 1.5) ) h <- hist(x, plot = FALSE) breaks <- h$breaks; nB <- length(breaks) y <- h$counts; y <- y/max(y) rect(breaks[-nB], 0, breaks[-1], y, col = "cyan", ...) } # 3. 自定义函数panel.ls:绘制散点图,并为其添加线性拟合直线 panel.lm<-function(x,y,col=par("col"),bg=NA,pch=par("pch"), cex=1,col.smooth="black",...){ points(x,y,pch=pch,col=col,bg=bg,cex=cex) abline(stats::lm(y~x),col=col.smooth,...) } # 4. 用相关系数(pannel.cor)替代默认图形上三角的散点图,用直方图(pannel.hist)替代默认图形对角线的变量名称,用添加线性拟合线的散点图(panel.ls)代替默认图形下三角的散点图。 pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species", pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)], diag.panel=panel.hist, upper.panel=panel.cor, lower.panel=panel.lm)

R语言相关关系可视化函数有哪些

自定义后的散点图矩阵主对角线上用了直方图,从中我们可以看到四个变量各自的分布情况;上三角面板显示了各个变量之间的相关系数,相关系数越大字号越大;下三角为散点图,并用不同颜色的点标记出鸢尾花的不同类型,同时利用函数panel.ls()添加了一条线性拟合线。此外,我们也可以将子面板函数设置为NULL,使得图形仅显示一半。

二、gpairs {gpairs}

1. 参考

  • (1)gpairs {gpairs} 帮助文档

  • (2)统计之都:不同版本的散点图矩阵

  • https://cosx.org/2009/03/scatterplot-matrix-visualization

2. 主要参数解释

R语言相关关系可视化函数有哪些

3. 图形示例

library(gpairs) gpairs(iris, upper.pars = list(scatter = 'stats'), scatter.pars = list(pch = substr(as.character(iris$Species), 1, 1), col = as.numeric(iris$Species)), stat.pars = list(verbose = TRUE))

R语言相关关系可视化函数有哪些

上图中,4*4矩阵反映了iris前4列Sepal.Length 、Sepal.Width  、Petal.Length、Petal.Width变量两两之间的相关关系,其中,上三角显示了相关关系的数量特征,如相关系数、p值等;下三角为散点图,不同种类的鸢尾花用不同颜色、不同点型表示;最右侧一列和最下方一行则分别对三种鸢尾花的花萼和花瓣长宽进行了简单的描述性统计分析。

三、corrgram {corrgram}

1. 参考

  • (1)《R语言实战》11.3 相关图

  • (2)Friendly M. Corrgrams: Exploratory Displays for Correlation Matrices[J].  American Statistician, 2002, 56(4):316-324.

  • (3)corrgram {corrgram} 帮助文档

2. 主要参数解释

R语言相关关系可视化函数有哪些

3. 图形示例

library(corrgram) vars2 <- c("Assists","Atbat","Errors","Hits","Homer","logSal", "Putouts","RBI","Runs","Walks","Years") corrgram(baseball[vars2], order=TRUE, main="Baseball data PC2/PC1 order", lower.panel=panel.shade, upper.panel=panel.pie)

R语言相关关系可视化函数有哪些

上图中,下三角面板用阴影的深度来表示相关性大小,其中蓝色和从左下指向右上的斜杠表示单元格中的两个变量呈正相关,红色和从左上指向右下的斜杠表示变量呈负相关;色彩越深,饱和度越高,变量相关性越大。上三角面板用饼图的填充比例来表示相关性大小,颜色的功能同上,但相关性大小由被填充的饼图块的大小来展示,正相关性将从12点钟处开始顺时针填充饼图,负相关性则逆时针方向填充饼图。

corrgram(auto, order=TRUE, main="Auto data (PC order)", lower.panel=corrgram::panel.ellipse, upper.panel=panel.bar, diag.panel=panel.minmax, col.regions=colorRampPalette(c("darkGoldenrod4", "burlywood1", "darkkhaki", "darkgreen")))

R语言相关关系可视化函数有哪些

上图中,下三角面板绘制置信椭圆和平滑拟合曲线,上三角面板绘制柱形图;主对角面板指定显示变量的最小值和***值;矩阵的行和列利用主成分分析法进行了重排序。此外,也可设置  lower.panel或upper.panel为NULL使得图形仅显示一半。

四、corrplot {corrplot}

1. 主要参数解释

R语言相关关系可视化函数有哪些

2. 图形示例

(1)相关矩阵可视化

仅相关系数

library(corrplot) data(mtcars) M <- cor(mtcars) corrplot(M, order = "AOE", type = "upper", tl.pos = "d") corrplot(M, add = TRUE, type = "lower", method = "number", order = "AOE", diag = FALSE, tl.pos = "n", cl.pos = "n")

R语言相关关系可视化函数有哪些

上图中,上三角面板以不同颜色和大小的圆形表示相关性大小,其中,蓝色表示正相关,红色表示负相关;颜色越深、圆形越大代表相关性越高;下三角面板在原有图形的基础上叠加而成(如果想仅显示部分,可不再叠加),用相关系数的数值和颜色表示相关性方向和大小,并利用AOE(前两个特征向量的角排序)对变量进行重排序。

相关系数+P值

res1 <- cor.mtest(mtcars, conf.level = 0.95) corrplot(M, method="ellipse",p.mat = res1$p, sig.level = 0.2,order = "AOE", type = "upper", tl.pos = "d") corrplot(M, add = TRUE, p.mat = res1$p, sig.level = 0.2,type = "lower", method = "number", order = "AOE", diag = FALSE, tl.pos = "n", cl.pos = "n")

R语言相关关系可视化函数有哪些

上图中,上三角面板绘制椭圆形,下三角显示相关系数,并设置没通过统计相关性检验的结果打X。

(2)普通矩阵可视化

dat = matrix(c(1:10,10:1), nrow = 10) wb <- c("white", "black") corrplot(t(dat), method="pie", is.corr = F, cl.pos = "n", tl.pos = "n", cl.lim = c(1,10),col = wb, bg = "gold2")

R语言相关关系可视化函数有哪些

五、ggpairs {GGally}

1. 参考

  • ggpairs {GGally}帮助文档

2. 主要参数解释

R语言相关关系可视化函数有哪些

3. 图形示例

(1)直接指定图形类型

library(GGally) ggpairs(flea, columns = 2:4, ggplot2::aes(colour=species))

R语言相关关系可视化函数有哪些

上图基于函数默认参数设置,并建立颜色和种类的映射,使得不同种类具有不同颜色,其中,上三角面板显示相关系数,包括总体相关以及不同种类的相关;下三角绘制散点图;主对角线用面积图表示。

(2)自定义函数

library(ggplot2) diamonds.samp <- diamonds[sample(1:dim(diamonds)[1], 1000), ] ggpairs( diamonds.samp[, c(1:2,5,7)], mapping = aes(color = cut), lower = list(continuous = wrap("density", alpha = 0.5), combo = "dot_no_facet"), title = "Diamonds" )

R语言相关关系可视化函数有哪些

上图利用wrap将相关参数进行封装,使得下三角显示密度图,透明度为0.5。

六、coplot {graphics}

又名“条件分割图”,与上述函数思想有所不同,该函数能够实现在给定某一个(或几个)变量z之后看观察两个变量之间的关系(以散点图形式),条件分割图中散点图的顺序是从左到右、从下到上,分别与条件变量从左到右、从下到上的指示条对应。关于coplot的具体解释和用法可参见帮助文档及谢益辉《现代统计图形》5.9  条件分割图,下面是原书中的一个例子。

par(mar = rep(0, 4), mgp = c(2, 0.5, 0)) library(maps) coplot(lat ~ long | depth, data = quakes, number = 4, ylim = c(-45, -10.72), panel = function(x, y, ...) { map("world2", regions = c("New Zealand","Fiji"), add = TRUE, lwd = 0.1, fill = TRUE,col = "lightgray") text(180, -13, "Fiji", adj = 1) text(170, -35, "NZ") points(x, y, col = rgb(0.2, 0.2, 0.2, 0.5)) })

R语言相关关系可视化函数有哪些

quakes {datasets}  数据集反映了1964年以来斐济岛附近发生的震级MB大于4.0的地震事件数据,如果我们想知道该地区在地震深度分布上是否均匀,可以令深度变量为条件变量,绘制条件分割图,观察在不同条件下地震发生地点(经纬度)是否有变化。图示上方是用矩形条标记出来的条件变量的取值范围,下方是条件散点图,从图中可以清楚地看出,随着深度值的增加,地震发生地点逐渐由西向东、由南向北移动,震源较深的地震都发生在离斐济岛很近的东南侧。

七、其他函数

以上六个函数很大程度上可以满足我们对相关关系可视化的需求,此外,R还提供了众多相关函数,下面选取了几个函数帮助文档中的实例进行简单介绍以作了解。

1. splom {lattice}

基于lattice作图系统,也可以通过进一步的设置达到更高的可视化要求。

library(lattice) super.sym <- trellis.par.get("superpose.symbol") splom(~iris[1:4], groups = Species, data = iris, panel = panel.superpose, key = list(title = "Three Varieties of Iris", columns = 3, points = list(pch = super.sym$pch[1:3], col = super.sym$col[1:3]), text = list(c("Setosa", "Versicolor", "Virginica"))))

R语言相关关系可视化函数有哪些

2. scatterplotMatrix {car}

可以直接指定主对角线上的图形元素(密度图、箱线图、直方图、QQ图等),还可以在散点图中添加拟合曲线、平滑曲线、相关读椭圆等。

library(car) scatterplotMatrix(~ income + education + prestige | type, data=Duncan)

R语言相关关系可视化函数有哪些

3. ggscatmat {GGally}

简化版的ggpairs,只有五个参数:数据源、观测范围设定、颜色、透明度及相关度计算方法。

library(GGally) data(flea) ggscatmat(flea, columns = 2:4, color = "species")

R语言相关关系可视化函数有哪些

4. cpairs {gclus}

library(GClus) data(USJudgeRatings) judge.cor <- cor(USJudgeRatings) judge.color <- dmat.color(judge.cor) cpairs(USJudgeRatings,panel.colors=judge.color,pch=".",gap=.5)

R语言相关关系可视化函数有哪些

“R语言相关关系可视化函数有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: R语言相关关系可视化函数有哪些

本文链接: https://lsjlt.com/news/85943.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • R语言相关关系可视化函数有哪些
    本篇内容介绍了“R语言相关关系可视化函数有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、pairs...
    99+
    2024-04-02
  • Python关系图数据可视化效果有哪些
    这篇文章主要介绍“Python关系图数据可视化效果有哪些”,在日常操作中,相信很多人在Python关系图数据可视化效果有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python关系图数据可视化效果有哪些...
    99+
    2023-07-04
  • R语言中循环的相关知识点有哪些
    这篇文章主要介绍“R语言中循环的相关知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“R语言中循环的相关知识点有哪些”文章能帮助大家解决问题。repeatrepeat是最存粹的循环,只要不让...
    99+
    2023-07-05
  • C语言多线程pthread库的相关函数有哪些
    C语言多线程pthread库的相关函数有以下几个:1. pthread_create():创建一个新的线程。2. pthread_j...
    99+
    2023-08-18
    C语言 pthread
  • R语言corrplot相关热图美化实例分析
    这篇文章主要介绍“R语言corrplot相关热图美化实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“R语言corrplot相关热图美化实例分析”文章能帮助大家解决问题。介绍R corrplot...
    99+
    2023-07-02
  • js函数相关知识点有哪些
    这篇文章将为大家详细讲解有关js函数相关知识点有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在js种函数实际上是对象,每个函数都是Function类型的实例。和其他...
    99+
    2024-04-02
  • php中日期相关函数有哪些
    php中日期相关的函数有date_create、date_diff、strtotime、microtime常见的几种date_create函数date_create函数作用:php中date_create函数的作用是用于返回一个新的Date...
    99+
    2024-04-02
  • C++与C语言有哪些关系
    这篇文章主要介绍了C++与C语言有哪些关系的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++与C语言有哪些关系文章都会有所收获,下面我们一起来看看吧。错误1: 没有明确的结束方法几乎可以完全肯定地说,对于大多...
    99+
    2023-06-08
  • redis持久化相关参数有哪些
    这篇文章主要讲解了“redis持久化相关参数有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“redis持久化相关参数有哪些”吧!redis查看持久化信息...
    99+
    2024-04-02
  • PHP SQlite数据库相关函数有哪些
    今天就跟大家聊聊有关PHP SQlite数据库相关函数有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。PHP SQlite数据库对于拥有相当经验的PHP程序员来说是不会陌生的,但...
    99+
    2023-06-17
  • javascript Async函数相关知识点有哪些
    本篇内容介绍了“javascript Async函数相关知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2024-04-02
  • C/C++时间相关的函数有哪些
    本篇内容主要讲解“C/C++时间相关的函数有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C/C++时间相关的函数有哪些”吧!首先介绍下C++标准中的chrono库chrono是一个关于时间...
    99+
    2023-06-16
  • R语言两组变量特征相关关系热图绘制画法
    目录准备数据简单热图只对列进行聚类将相关系数显示在图上在图上加上显著性标记准备数据 两组变量的数据可以像下面这样处理,分别保存在两个csv文件中。 > # 导入数据及数据预处理...
    99+
    2024-04-02
  • R语言绘图数据可视化pie chart饼图
    目录Step 1. 绘图数据的准备Step2. 绘图数据的读取Step3.绘图所需package的调用Step4. 饼图百分比标签准备Step5.绘图今天要给大家介绍的Pie cha...
    99+
    2024-04-02
  • pga相关参数有哪些
    这篇文章主要介绍“pga相关参数有哪些”,在日常操作中,相信很多人在pga相关参数有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pga相关参数有哪些”的疑惑有所帮助!接...
    99+
    2024-04-02
  • MapReduce相关参数有哪些
    这期内容当中小编将会给大家带来有关MapReduce相关参数有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。MapReduce相关配置参数分为两部分,分别是JobHi...
    99+
    2024-04-02
  • C语言指针的相关知识点有哪些
    这篇文章将为大家详细讲解有关C语言指针的相关知识点有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。第一站 字符指针----存放字符地址的指针1.使用方法(1)直接使用字符int main()...
    99+
    2023-06-29
  • mysql日期和时间相关函数有哪些
    这篇文章主要为大家展示了“mysql日期和时间相关函数有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql日期和时间相关函数有哪些”这篇文章吧。  函...
    99+
    2024-04-02
  • linux内存管理相关的函数有哪些
    这篇文章主要介绍“linux内存管理相关的函数有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux内存管理相关的函数有哪些”文章能帮助大家解决问题。 ...
    99+
    2023-04-20
    linux
  • R语言绘制数据可视化Dumbbell plot哑铃图
    目录Step1. 绘图数据的准备Step3. 绘图所需package的安装、调用Step4. 绘图改变size的大小调整顺序又是一年春来到,小仙祝大家在新的一年开开心心、顺顺利利!今...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作