R实现数据分布特征的视觉化——多笔数据之间的比较

2023-10-07 14:30

本文主要是介绍R实现数据分布特征的视觉化——多笔数据之间的比较,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

      大家好,我是带我去滑雪!

      如果要对两笔数据或者多笔数据的分布情况进行比较,Q-Q图、柱状图、星形图都是非常好的选择,下面开始实战。     

(1)绘制Q-Q图

     首先导入数据bankwage.csv文件,该数据集包含474条数据,变量分别是wage(数值)、wage0(数值)、edu(数值)、gender(字符)、minority(字符)、job(字符):

bankwage=read.csv("bankwage.csv")

     目的:尝试比较员工薪酬上是否存在性别差异。

mwage = subset(bankwage, gender == "Male")$wage_current
fwage = subset(bankwage, gender == "Female")$wage_current
qqplot(mwage, fwage, xlim = range(wage_current), ylim = range(wage_current),  xaxs = "i", yaxs = "i", xlab = "Male workers' wage", ylab = "Female workers' wage")
abline(0, 1)

输出结果:

     通过图像,可以发现薪酬分布倾向男性,说明男性和女性在薪酬上存在性别差异。

(2)绘制柱状图

       数据采用国际上13个交易市场的市价总值数据,目的是比较多个市场市价总值2003年到2008年的差别情况,使用柱状图呈现数据。

load("Cap.RData")
par(mfrow=c(2,1))
barplot(t(Cap)/1e+06, beside = T,las=3,ylab="Capitalization")
title(main = "Major Stock Markets")
mtext(side = 3, "2003 - 2008")
barplot(Cap/1e+06, beside = TRUE,ylab="Capitalization")
par(mfrow=c(1,1))

输出结果:

(3)星形图

       星形图(Star Plot),也称为雷达图(Radar Plot)或蜘蛛图(Spider Plot),是一种用于可视化多维数据的图表类型。它以一个多边形的形式显示了多个变量或特征的值,使您能够比较各个特征之间的相对大小和分布。星形图通常用于展示数据的多维特征,特别适用于在不同类别或维度上比较多个观测值的情况。

palette(rainbow(13, s = 0.6, v = 0.75))
stars(t(log(Cap)), draw.segments = TRUE, ncol = 3, nrow = 2,
      key.loc = c(4.6, -0.5), mar = c(15, 0, 0, 0))
mtext(side = 3, line = 2.2, text = "Growth and Decline of Major Stock Markets",
      cex = 1.5, font = 2)
abline(h = 0.9)

输出结果:

(4)相关性绘图

       分析数值型数据时,变量间的相关性是一项重点,使用corrgram()函数用图形及其组合将相关系数矩阵可视化。可以通过图形色彩、形状等特征轻松地判断相关性是正还是负,甚至相关系数是否显著。

library(corrgram)        
data(auto)
head(auto)
vars_name = setdiff(colnames(auto), c("Model", "Origin"))
low=panel.conf
up=panel.pie
txt=panel.txt
diag=NULL  #or panel.minmax
corrgram(auto[, vars_name],lower.panel=low, upper.panel=up, text.panel=txt,diag.panel=diag, order=TRUE, main="Auto data (PC order)")

输出结果:


更多优质内容持续发布中,请移步主页查看。

   点赞+关注,下次不迷路!

这篇关于R实现数据分布特征的视觉化——多笔数据之间的比较的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/158374

相关文章

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

Java进行日期解析与格式化的实现代码

《Java进行日期解析与格式化的实现代码》使用Java搭配ApacheCommonsLang3和Natty库,可以实现灵活高效的日期解析与格式化,本文将通过相关示例为大家讲讲具体的实践操作,需要的可以... 目录一、背景二、依赖介绍1. Apache Commons Lang32. Natty三、核心实现代

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

python通过curl实现访问deepseek的API

《python通过curl实现访问deepseek的API》这篇文章主要为大家详细介绍了python如何通过curl实现访问deepseek的API,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... API申请和充值下面是deepeek的API网站https://platform.deepsee

SpringBoot实现二维码生成的详细步骤与完整代码

《SpringBoot实现二维码生成的详细步骤与完整代码》如今,二维码的应用场景非常广泛,从支付到信息分享,二维码都扮演着重要角色,SpringBoot是一个非常流行的Java基于Spring框架的微... 目录一、环境搭建二、创建 Spring Boot 项目三、引入二维码生成依赖四、编写二维码生成代码五

MyBatisX逆向工程的实现示例

《MyBatisX逆向工程的实现示例》本文主要介绍了MyBatisX逆向工程的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录逆向工程准备好数据库、表安装MyBATisX插件项目连接数据库引入依赖pom.XML生成实体类、

C#实现查找并删除PDF中的空白页面

《C#实现查找并删除PDF中的空白页面》PDF文件中的空白页并不少见,因为它们有可能是作者有意留下的,也有可能是在处理文档时不小心添加的,下面我们来看看如何使用Spire.PDFfor.NET通过C#... 目录安装 Spire.PDF for .NETC# 查找并删除 PDF 文档中的空白页C# 添加与删

Java实现MinIO文件上传的加解密操作

《Java实现MinIO文件上传的加解密操作》在云存储场景中,数据安全是核心需求之一,MinIO作为高性能对象存储服务,支持通过客户端加密(CSE)在数据上传前完成加密,下面我们来看看如何通过Java... 目录一、背景与需求二、技术选型与原理1. 加密方案对比2. 核心算法选择三、完整代码实现1. 加密上