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

相关文章

Python使用python-can实现合并BLF文件

《Python使用python-can实现合并BLF文件》python-can库是Python生态中专注于CAN总线通信与数据处理的强大工具,本文将使用python-can为BLF文件合并提供高效灵活... 目录一、python-can 库:CAN 数据处理的利器二、BLF 文件合并核心代码解析1. 基础合

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

golang版本升级如何实现

《golang版本升级如何实现》:本文主要介绍golang版本升级如何实现问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录golanwww.chinasem.cng版本升级linux上golang版本升级删除golang旧版本安装golang最新版本总结gola

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MySQL中查找重复值的实现

《MySQL中查找重复值的实现》查找重复值是一项常见需求,比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值,具有一定的参考价值,感兴趣的可以了解一下... 目录技术背景实现步骤方法一:使用GROUP BY和HAVING子句方法二:仅返回重复值方法三:返回完整记录方法四:

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin