R-数据清洗(附代码,图片)

本文介绍了R语言中如何处理数据清洗的问题,包括计算缺失值比例、缺失值填充(均值、中位数、众数)、数据类型转化(如因子变量创建、哑变量生成)以及高相关性、低方差和共线性变量的诊断与剔除。使用了如`is.na()`、`complete.cases()`、`factor()`、`model.matrix()`等函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据清洗是将原始的数据进行整理和规范,以达到数据分析人员使用要求的数据。这个过程很重要,也很花费时间。现将当前学到的方式总结,欢迎大家互相交流。

1.缺失值处理

在R中,当原始数据中存在缺失值时,该缺失值用NA表示,如下图有一个缺失值。

birth=read.csv("chds_births.csv",header = TRUE)
head(birth)

birth原始数据显示
若某一列数据缺失过多(>30%),那么这一列实际上就已经丢掉了很多关键的信息,可以从数据集中直接去掉这一列。若缺失的不是很多数据,则需要对该列进行填充。

1.1 缺失率计算

1.查看某列缺失情况

#查看某列是否缺失
is.na(birth$gestation)

该函数返回一个BOOL类型的数组,若缺失,则对应位置为TRUE,否则为FALSE.

2.查看数据集缺失情况

#检查数据集内是否含有缺失值
anyNA(birth)

若填充完毕后,想要查看该数据集是否还有缺失值,则该函数可以进行检验。若还有缺失值,则返回TRUE,否则返回FALSE.

3.计算缺失率

#查看缺失率
sapply(birth,f unction(df){sum(is.na(df)/nrow(birth))})

birth缺失率
如上图所示,计算了每列的缺失比率。我们发现fht这一列缺失率高达39.8%,这一列原则上可以删除。

4.缺失情况可视化
方法一:

#缺失率可视化
library(Rcpp)
library(Amelia)
missmap(birth,main="missing map")

缺失率图
当然R也提供可视化缺失率的包,在可视化之前需要安装Rcpp包和Amelia包。先安装Rccp包,再安装Amelia包。如上面的代码可见。从

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值