数据质量分析是数据预处理的前提,也是数据分析结论有效性准确性的基础。

数据质量分析的主要任务是检查原始数据中是否存在脏数据。

脏数据一般包括;

缺失值分析

缺失值产生的原因、影响

原因:

  • 部分信息难以获取,或获取的代价太大
  • 因人为因素遗漏的、忘记写的、对数据理解错误的等
  • 属性值不存在

影响:

缺失值分析

常用函数:

# 结果返回TRUE,FALSE,TRUE为缺失值,FALSE为非缺失值
is.na()
# 结果返回TRUE,FALSE,FALSE为缺失值,TRUE为非缺失值
complete.cases()
# 形成矩阵或数据框式的表格,1和0显示缺失值模式,0表示变量的列中有缺失值,1表示没有
mice包中的md.pattern()
# 图形绘制每个变量的缺失值数,还绘制每个变量组合的缺失值数
aggr()

异常值分析

含义与方法

异常分析式检验数据是否有录入错误以及含有不合常理的数据,异常值也称作离群点。

异常值的分析方法主要有:

  • 简单统计量分析
  • 3\(\sigma\)原则
  • 箱型图分析

质量控制图

qcc包是专业的绘制质量控制图的算法包

# 该函数的基础形式如下
qcc(data,type,nsigmas=3,plot=TRUE,...)
# 以xbar为例绘图图形
library(qcc)
data(pistonrings)
attach(pistonrings)
newdata<-rep(74,30)+rnorm(30)/50
qcc(pistonrings$diameter,type="xbar.one")

箱型图分析



绘制一个简单的箱型图:


library(ggplot2) # 创建示例数据
set.seed(123) # 设置随机种子以便结果可复现
data <- data.frame(
group = rep(c("A", "B", "C"), each = 200), # 创建三个组
value = c(rnorm(200, mean = 0, sd = 1), # 为组A生成正态分布的随机数
rnorm(200, mean = 3, sd = 2), # 为组B生成正态分布的随机数
rnorm(200, mean = 6, sd = 1.5)) # 为组C生成正态分布的随机数
) # 查看数据的前几行
head(data)
# 绘制箱型图
p <- ggplot(data, aes(x = group, y = value)) + # 设置数据和映射
geom_boxplot(fill = "lightblue") + # 添加箱型图图层,并设置填充颜色
theme_minimal() + # 使用简洁的主题
labs(title = "箱型图示例", # 添加标题
x = "组别", # x轴标签
y = "值") + # y轴标签
scale_fill_brewer(palette = "Pastel1") # 使用Brewer配色方案 # 显示图形
print(p)

R语言数据质量分析的更多相关文章

  1. R语言重要数据集分析研究——需要整理分析阐明理念

    1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标 ...

  2. R语言数据接口

    R语言数据接口 R语言处理的数据一般从外部导入,因此需要数据接口来读取各种格式化的数据 CSV # 获得data是一个数据帧 data = read.csv("input.csv" ...

  3. R语言数据预处理

    R语言数据预处理 一.日期时间.字符串的处理 日期 Date: 日期类,年与日 POSIXct: 日期时间类,精确到秒,用数字表示 POSIXlt: 日期时间类,精确到秒,用列表表示 Sys.date ...

  4. 最棒的7种R语言数据可视化

    最棒的7种R语言数据可视化 随着数据量不断增加,抛开可视化技术讲故事是不可能的.数据可视化是一门将数字转化为有用知识的艺术. R语言编程提供一套建立可视化和展现数据的内置函数和库,让你学习这门艺术.在 ...

  5. 利用R语言打造量化分析平台

    利用R语言打造量化分析平台 具体利用quantmod包实现对股票的量化分析 1.#1.API读取在线行情2.#加载quantmod包3.if(!require(quantmod)){4. instal ...

  6. R语言数据的导入与导出

    1.R数据的保存与加载 可通过save()函数保存为.Rdata文件,通过load()函数将数据加载到R中. > a <- 1:10 > save(a,file='d://data/ ...

  7. R语言 数据重塑

    R语言数据重塑 R语言中的数据重塑是关于改变数据被组织成行和列的方式. 大多数时间R语言中的数据处理是通过将输入数据作为数据帧来完成的. 很容易从数据帧的行和列中提取数据,但是在某些情况下,我们需要的 ...

  8. 第六篇:R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)

    数据分布图简介 中医上讲看病四诊法为:望闻问切.而数据分析师分析数据的过程也有点相似,我们需要望:看看数据长什么样:闻:仔细分析数据是否合理:问:针对前两步工作搜集到的问题与业务方交流:切:结合业务方 ...

  9. R语言重要数据集分析研究——R语言数据集的字段含义

    R语言数据集的字段含义 作者:马文敏 选择一种数据结构来储存数据 将数据输入或导入到这个数据结构中 数据集的概念 数据集通常是有数据结构的一个矩形数组,行表示规则,列表示变量. 不同的行业对数据集的行 ...

  10. 美团 R 语言数据运营实战

    一.引言 近年来,随着分布式数据处理技术的不断革新,Hive.Spark.Kylin.Impala.Presto 等工具不断推陈出新,对大数据集合的计算和存储成为现实,数据仓库/商业分析部门日益成为各 ...

随机推荐

  1. Android上的日志

    Android的日志机制和普通的Java项目有一些不一样, 这里记录一下 安卓内建的Log 安卓应用类型(在build.gradle里定义 android {...})的模块, 可以直接引用内建的an ...

  2. win32-localtime的使用

    下面的例子用于反映本地系统的日期格式变化 // locale test #include <stdio.h> #include <locale.h> #include < ...

  3. MySQL的随机排序(random orderby)

    MySQL的随机排序(random orderby)是指在查询数据库时,将结果集以随机的方式排列.这种排序方式可以用于有趣的应用场景,例如实现随机音乐播放.广告推荐等. 要实现MySQL的随机排序,可 ...

  4. libmatio开发笔记(一):matlab文件操作libmatio库介绍,编译和基础Demo

    前言   Qt可通过matlab的库对mat文件进行读写,第三方库matio也可以对mat文件进行读写,其已经支持mat文件的7.3版本.   libmatio库介绍   matio软件包含一个用于读 ...

  5. Qt实用技巧:Qt从QtCreator更换为VS开发Qt所需要注意的坑

    前言   基本都是使用QtCreator开发,使用vs进行一下开发,记录从QtCreator换成VS所遇到的注意的坑.   VS装对应的Qt版本助手配置Qt版本        VS装番茄助手   这里 ...

  6. live555开发笔记(一):live555介绍、windows上msvc2017编译和工程模板

    前言   在pc上搭建流媒体服务器软件,打开视频接受推流,使用live555方案.   live555介绍   Live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了标准流媒体传输 ...

  7. [BAT面试题系列]乐观锁和悲观锁

    基本概念 乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题(使用非常广泛,不局限于某种编程语言或数据库). 乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据.因此乐观锁不会上锁, ...

  8. Linux 多进程服务配置 systemd

    目录 Linux 多进程服务配置 systemd sysvinit和systemd 多进程保活 创建配置文件(设定重试次数) 多进程服务管理 链式启动(服务依赖) 指定关闭进程方式 - ExecSto ...

  9. centos 7与8修改主机名的各种方法

    hostname 查看当前系统主机名,知道当前主机名为localhost 当然在centos7特地添加了hostnamectl命令查看,修改主机名 使用hostnamectl set-hostname ...

  10. 深入解析ASP.NET Core MVC的模块化设计[下篇]

    ASP.NET Core MVC的"模块化"设计使我们可以构成应用的基本单元Controller定义在任意的模块(程序集)中,并在运行时动态加载和卸载.<设计篇>介绍了 ...