
昨天和学长聊到下周要做的数据清洗工作,心想应该很好上手吧,结果今早爬起来一问度娘,立马就被灌了整锅的毒鸡汤…某论坛上的网友甚至告诉小编,数据清洗占了他某项工作中的八成分量,是绝对的大工程…
额…好吧,尽管小编还是这方面的零基础学员,鼓捣了一整天依然图样图森破,但是在“还要多学习”的精神指引下,还是来跟大家分享一点学习中的收获吧。
前方预警:大神请绕行~
在开始今天的介绍之前,有几点说明:
1. 这次介绍的代码主要针对重复值、缺失值和字符中的空格等情况的处理;
2. 由于篇幅限制,演示中导入csv格式文件作为数据来源;
3. 请在“文件”菜单中把R软件的“当前工作目录”改为导入文件所在目录;
![]()
4. 本次使用的数据是世界银行数据库中的“国家政策和制度评估(CPIA):公共部门管理和机构集群平均值(1=低至 6=高)”数据;另外,为使清洗效果更明显,我对其做了点“手脚”,让其显得“更乱”:
那么,这么“脏乱”的数据该咋“洗”呢?具体步骤如下:
1. 读取并创建数据表。可以通过查看数据表前5行看看是否读取;
#读取并创建数据表
data=data.frame(read.csv('CPIA.csv',header =1))
#查看数据表前5行
head(data)
![]()
2. 清洗特定列的重复值。R语言的返回结果为:重复的标记为TURE,不重复的值标记为FALSE;下面以清洗“国家名称”这一列的重复值为例,其他各列依次完成;
#重复值清洗
duplicated(data$Country.Name)
![]()
#删除重复值,返回唯一值列表
data=unique(data)
#查看清洗结果
duplicated(data$Country.Name)
![]()
3. 空值清洗。
(1)如果查找数据表中的空值,则代码为:
#查找数据表中的空值
head(is.na(data),n = 264)
需要注意的是,这里的264是数据容量,R语言的返回结果依然是空值标记为TURE,非空值标记为FALSE;
(2)如果查找特定列中的空值,则代码如下(以2015年数据为例):
#查看特定列中的空值
is.na(data$X2015)
(3)处理空值的方式有两种,将空值填充为0或删除空值所在行;
#将空值填充为0
data[is.na(data)] <- 0
#删除空值所在行
data<-na.omit(data)
4. 去除特定列中字符间的空格。需要安装并加载raster包,以“国家名称”列为例;
#提取“国家名称”列
Country.Name=as.vector(data$Country.Name)
#安装raster包
install.packages('raster')
#加载raster包
library(raster)
#去除“国家名称”字段中的空格
Country=trim(Country.Name)
#覆盖原有“国家名称”字段
data$Country.Name=Country
5. 另存为新文件,供后续分析;
#保存为csv文件
write.csv(data,file="CPIA1.csv")
![]()
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
MySQL执行计划中rows的计算逻辑:从原理到实践 MySQL 执行计划中 rows 的计算逻辑:从原理到实践 在 MySQL 数据库的查询优化中 ...
2025-07-29左偏态分布转正态分布:方法、原理与实践 左偏态分布转正态分布:方法、原理与实践 在统计分析、数据建模和科学研究中,正态分 ...
2025-07-29CDA 数据分析师的职业生涯规划:从入门到卓越的成长之路 在数字经济蓬勃发展的当下,数据已成为企业核心竞争力的重要来源,而 CD ...
2025-07-29CDA数据分析师证书考取全攻略 一、了解 CDA 数据分析师认证 CDA 数据分析师认证是一套科学化、专业化、国际化的人才考核标准, ...
2025-07-29解析神经网络中 Softmax 函数的核心作用 在神经网络的发展历程中,激活函数扮演着至关重要的角色,它们为网络赋予了非线性能力, ...
2025-07-29解析 response.text 与 response.content 的核心区别 在网络数据请求与处理的场景中,开发者经常需要从服务器返回的响应中提取数 ...
2025-07-29鸢尾花判别分析:机器学习中的经典实践案例 在机器学习的世界里,有一个经典的数据集如同引路明灯,为无数初学者打开了模式识别 ...
2025-07-29用 Python 开启数据分析之旅:从基础到实践的完整指南 在数据驱动决策的时代,数据分析已成为各行业不可或缺的核心能力。而 Pyt ...
2025-07-29从 CDA LEVEL II 考试题型看 Python 数据分析要点 在数据科学领域蓬勃发展的当下,CDA(Certified Data Analyst)认证成为众多从 ...
2025-07-29CDA 数据分析师的工作范围解析 在数字化时代的浪潮下,数据已成为企业发展的核心资产之一。CDA(Certified Data Analyst)数据分 ...
2025-07-29解析 insert into select 是否会锁表:原理、场景与应对策略 在数据库操作中,insert into select 是一种常用的批量数据插入语句 ...
2025-07-29用 Power BI 制作地图热力图:基于经纬度数据的实践指南 在数据可视化领域,地图热力图凭借直观呈现地理数据分布密度的优势,成 ...
2025-07-29从数据到决策:CDA 数据分析师如何重塑职场竞争力与行业价值 在数字经济席卷全球的今天,数据已从 “辅助工具” 升级为 “核心资 ...
2025-07-292025 年 CDA 数据分析师考纲焕新,引领行业人才新标准 在数字化浪潮奔涌向前的当下,数据已成为驱动各行业发展的核心要素。作为 ...
2025-07-29PyTorch 核心机制:损失函数与反向传播如何驱动模型进化 在深度学习的世界里,模型从 “一无所知” 到 “精准预测” 的蜕变,离 ...
2025-07-29t 检验与 Wilcoxon 检验:数据差异分析的两大核心方法 在数据分析的广阔领域中,判断两组或多组数据之间是否存在显著差异是一项 ...
2025-07-29PowerBI 添加索引列全攻略 在使用 PowerBI 进行数据处理与分析时,添加索引列是一项极为实用的操作技巧。索引列能为数据表中的每 ...
2025-07-29CDA 数据分析师必备技能全解析 在数据驱动决策的时代,CDA 数据分析师作为连接数据与业务价值的桥梁,需要具备多元化的技能体系 ...
2025-07-29解析 LSTM 训练后输出不确定:成因与破解之道 在深度学习处理序列数据的领域,长短期记忆网络(LSTM)凭借其捕捉长距离依赖关系 ...
2025-07-29χ² 检验与 t 检验:数据差异分析的两大核心工具 在统计学的方法论体系中,假设检验是验证数据规律、判断差异显著性的核心手段 ...
2025-07-29