单变量分析是理解单个变量的数值分布情况,与之相对的有双变量分析和多变量分析。

加载示例数据

因为csv文件中年收入字段有千分位分隔符,所以先定义转换函数。

setClass("num.with.commas")
setAs("character", "num.with.commas", function(from) as.numeric(gsub(",", "", from) ) )data <- read.csv("csv/data.csv",colClasses=c('numeric','numeric','num.with.commas','numeric'))
data#    HouseholdID HouseholdSize AnnInCome NumberOfPets
# 1            1             2    37,000            0
# 2            2             4    49,000            0
# 3            3             4    58,000            1
# 4            4             1    68,000            3
# 5            5             3    61,000            2
# 6            6             5    64,000            2
# 7            7             6    79,000            1
# 8            8             4    89,000            1
# 9            9             7   104,000            1
# 10          10             2    95,000            0

我们可以对上面任何一列进行单变量分析,以获得数据分布的更深理解。举例我们选择第二列 HouseholdSize 进行分析,主要包括三类分析:概要统计、频率分布、图表可视化。

概要统计

概要统计是单变量分析中最常用的方法。主要包括两类概要统计:

  • 衡量中心趋势

描述数据集中心的位置,包括平均值和中位数。

mean(data$HouseholdSize)
# 3.8median(data$HouseholdSize)
# 4
  • 衡量离散趋势

描述数值在数据集中的分布情况,包括范围、四分位范围、标准差和方差。

range_info <- max(data$HouseholdSize) - min(data$HouseholdSize)
range_info
# 6# 获得最小值 和 最大值
range(data$HouseholdSize)
# 1 7# IQR = Q3 – Q1
# 中间50% 数据范围
IQR(data$HouseholdSize)
# 2.5sd(data$HouseholdSize)
# 1.87# 最小 Q1 中位数 Q3 最大值
fivenum(data$HouseholdSize)
# 1 2 4 5 7# 计算分位数
quantile(data$HouseholdSize)#   0%  25%  50%  75% 100%
# 1.00 2.25 4.00 4.75 7.00 summary(data$HouseholdSize)# Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
# 1.00    2.25    4.00    3.80    4.75    7.00

频率分布

执行单变量分析的另一种方法是创建频率分布,该分布描述不同值在数据集中出现的频率,通常用于分析因子变量。

table(data$HouseholdSize)# 1 2 3 4 5 6 7
# 1 2 1 3 1 1 1 

结果显示2有连个, 4 有三个,其他数有1个。

图表分析

通过图表以可视化方式展示变量的数据分布情况。

常用图形包括:

  • 箱线图

箱线图可以同时展示5个数的概要信息,最小Q1,中位数,Q3,最大值

boxplot(data$HouseholdSize, main="Boxplot of HouseHoldSize")

  • 直方图

直方图用于垂直条形图展示频率,通常用于显示数据分布。

hist(data$HouseholdSize, main="Hist of HouseHoldSize")

  • 密度曲线图

密度曲线表示数据集中值分布曲线。可视化方式展示分布形状,是否包括多峰,偏度情况。


holdSize_density <- density(data$HouseholdSize)
plot(holdSize_density, main = "density of hold size")

  • 饼图

饼图展示每个数值占用的百分比。

pie(data$HouseholdSize, main = "Distribution of HoldSize")

通过不同图形可视化,可以更方便观测数值的分布情况。

R语言实现单变量分析教程相关推荐

  1. R语言实现双变量分析教程

    双变量分析表示分析两个变量. 双变量分析是为了分析两个变量之间的关系,与单变量.多变量分析对应.主要有三种方式进行双变量分析. 散点图 相关系数 简单线性回归 下面使用测试数据作为示例来演示三种方法, ...

  2. R语言七天入门教程二:认识变量与运算符

    R语言七天入门教程二:认识变量与运算符 一.什么是变量 1.变量 顾名思义,我们可以将变量理解为"可以改变的量",是计算机语言中能储存计算结果或能表示值的抽象概念.这里的值可以是数 ...

  3. 大数据分析R语言tidyverse数据清洗工具教程

    凌乱的数据集无处不在.如果要分析数据,不可避免地需要清理数据.在大数据分析R语言tidyverse数据清洗工具教程中,我们将研究如何使用R和一些漂亮的tidyverse工具来做到这一点. 该tidyv ...

  4. R语言时间序列ARIMA新手教程

    R语言时间序列ARIMA新手教程 首先说一下ARMA回归的底层逻辑,所谓的AR模型和MA模型都是ARMA模型的一种特殊情况,有点类似正方形和长方形都是矩形.ARMA模型的表达式为: p为自回归部分的滞 ...

  5. R语言七天入门教程六:文件相关操作

    R语言七天入门教程六:文件相关操作 一.文件的读写 R 语言作为统计学编程语言,常常需要处理大量数据,而这些数据通常会从文件中进行读取,因此文件读写在R语言中是非常重要的操作.在R语言中,用到最多的文 ...

  6. R语言介绍及安装教程

    R语言是一种免费的开源编程语言和环境,主要用于数据分析.统计建模和可视化.它可以运行在不同的操作系统上,如Windows.MacOS和Linux.R语言具有以下特点: 丰富的数据处理和统计分析函数库: ...

  7. R语言七天入门教程三:学习基本结构

    R语言七天入门教程三:学习基本结构 一.编程的语言的基本结构 1.三种基本结构 绝大多数编程语言,都有三种最基本的程序结构:顺序结构.分支结构.循环结构.这三种结构的流程图如下所示(从左至右依次为:顺 ...

  8. 【一天一门编程语言】R 语言程序设计极简教程

    R 语言程序设计极简教程 文章目录 R 语言程序设计极简教程 R语言简介 1.1 介绍 1.2 R 语言的基础知识 1.2.1 语法 1.2.2 数据类型 1.2.3 基本操作 1.3 R 语言的高级 ...

  9. R语言七天入门教程五:认识并使用函数

    R语言七天入门教程五:认识并使用函数 一.什么是函数 在编程语言中,如果有一段代码需要在多次重复使用,除了复制粘贴外,还可以将其写成一个函数.函数可以很方便地实现代码复用,对于复杂的程序功能,可以将其 ...

  10. 利用R语言制作GGEBiplot-双标图教程

    我是目录 前言 1.GGEBiplot简介 2.GGEBiplot使用步骤 2.1 引入库 2.2 图像界面操作 3.GGE 双标图重要功能图型. 3.1 "哪个赢在哪里"图 3. ...

最新文章

  1. 频谱仪使用方法图解_钳形电流表使用方法图解
  2. ubuntu14.04换一个更快的源
  3. 话里话外:PDM、ERP和MES的实施,谁先谁后?
  4. Boost Asio Work类
  5. 两个列表(list)组成字典(dict)
  6. java 回调函数实现_Java实现的回调函数
  7. 复习330+天,我总结了一份对大多数人都适用的复习经验
  8. 当前位置 计算机英语,计算机常用英语词汇,计算机常用英语词汇
  9. 码云上不错的几个支付相关的项目
  10. PMP备考之路 - 汪博士第十二章(项目采购管理)
  11. 剑指 Offer 65. 不用加减乘除做加法(位运算、递归、迭代)
  12. mysql outer join的用法_MySQL 8 中的连接语法JOIN、OUTER JOIN的相关用法
  13. Linux下链接库出现的undefined reference问题总结
  14. 计算机网络实验Lab1 Test
  15. C语言应用笔记(一):运算符优先级和使用问题
  16. 教资公共课考试别慌,这样做很轻松就通关
  17. wordpress mysql优化_wordpress优化mysql数据库的方法
  18. freenom 免费续期
  19. 贝鲁特港大爆炸只是一场灾难,却是黎巴嫩国家经济危机的导火索
  20. 软件测试到底是选择自学还是报培训机构(纯个人经验分享)----分享给正在迷茫的学弟学妹们!

热门文章

  1. linux清除密码记录
  2. icon 的css,【iview】icon样式
  3. python截取视频制作gif表情包
  4. flask专题-小说网站开发四(完结)
  5. 现代opengl 设计 assimp 3D 模型加载库
  6. Assimp库中文文档
  7. 子列和列_最大子列和的四种算法总结
  8. OpenCV4 利用点线距离判断最小外接矩形的距离
  9. 胧月初音未来计算机,胧月(流星P所作歌曲《胧月》)_百度百科
  10. linux重装显卡驱动后黑屏,manjaro系统用msm更换显卡驱动失败后黑屏的处理