京公网安备 11010802034615号
经营许可证编号:京B2-20210330
来源:丁点帮你
作者:丁点helper
在前面的文章中,我们跟大家一起学习了R中的数据导入、基本的操作方法、描述性统计等内容。
这其中的很多操作都是针对格式和内容都完好的数据而言的。但在实际工作中,我们收集到的数据往往不那么完美,需要先进行一番清理。今天开始,我们来学习如何将杂乱的数据整理得井井有条。
多重线性回归,一般是指有多个自变量X,只有一个因变量Y。前面我们主要是以简单线性回归为例在介绍,两者的差距主要在于自变量X的数量,在只有一个X时,就称简单线性回归。
示例数据是某高校教师对本班学生的调查结果,为方便练习,大家可先下载:
文件名:survey.csv
链接: https://pan.baidu.com/s/1XZgdyb59wPyWy6wp_hmoQw
密码: 5lyw
survey <- read.csv("//Users//Desktop//titanic.csv", header = TRUE)
用下面的语句来了解一下这个数据:
#数据有多少行多少列dim(survey)[1] 238 17#获取数据中的变量名称 names(survey) [1] "ClassProb" "Status" "Year" "Division" "Gender" "HtCm" "Hand" "Haircut" [9] "Exercise" "Coursework" "Web" "TV" "Social" "Econ" "Animal" "Friends" [17] "Pulse"
可以知道,这项调查共涉及到238名同学,调查项目有17项。
数据清理第一步:有无缺失
多重线性回归,一般是指有多个自变量X,只有一个因变量Y。前面我们主要是以简单线性回归为例在介绍,两者的差距主要在于自变量X的数量,在只有一个X时,就称简单线性回归。
今天这篇文章只介绍如何对数据的完整性进行判断。
在survey这个数据库的238条记录中,如果某条记录中的17个变量都获取到了信息,不存在漏填的情况,那么认为这条记录是完整的。
1.用complete.cases()这个函数得到数据中的每条记录是否完整,其结果是一个逻辑型变量。
如下面的结果,survey这个数据的第一条记录(第一行)是完整的,而第232条记录是不完整的。
complete.cases(survey) [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE [20] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE [39] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE [58] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE [77] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE [96] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE[115] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE[134] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE[153] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE[172] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE[191] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE[210] TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE[229] TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE
2. 那么有多少条记录是完整的呢?根据下面的结果,答案是232条。
下面的语句中,which()的作用是得到逻辑型变量complete.cases(survey)中值为TRUE的顺序号。大家可以自行运行一下which(complete.cases(survey))这个语句,看看结果是什么。
所以最后用length(),可以得到共有多少条记录的完整性检验结果为TRUE。
length(which(complete.cases(survey)))[1] 232
3. 仅保留所有完整的记录,并生成一个新数据集。有两种方法:
# 仅保留complete.cases(survey) = TRUE的记录 survey_com <- survey[complete.cases(survey),] # 去掉有缺失情况的记录survey_com <- na.omit(survey)
4. 我们也可以看看有缺失的记录是哪些,来进一步考察数据的缺失规律。
survey_miss <- survey[!complete.cases(survey),] survey_miss
结果如下图:
小结
多重线性回归,一般是指有多个自变量X,只有一个因变量Y。前面我们主要是以简单线性回归为例在介绍,两者的差距主要在于自变量X的数量,在只有一个X时,就称简单线性回归。
面对一个数据,除了了解数据的行、列、变量等,每条记录的完整性是我们首先需要关注的问题之一。因为缺失记录和未缺失记录之间的差异很可能会对数据分析结果的准确性有直接影响。
通过本文介绍的4个方面来判断数据的缺失情况、定位完整数据和缺失数据,可以对所得样本的质量进行估计,也可为数据填补做好准备。
关于缺失数据的处理方法,大家可以参考这篇文章。
如果你也有待处理的数据,那么快用今天学的方法检验一下你的数据是否完整吧。
只有从根本上了解自己的数据,把每一个缺失值处理好,才可能做出逻辑严密、有说服力的结果。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在分类变量关联分析中(如 “吸烟与肺癌的关系”“性别与疾病发病率的关联”),卡方检验 P 值与 OR 值(比值比,Odds Ratio)是 ...
2025-11-05CDA 数据分析师的核心价值,不在于复杂的模型公式,而在于将数据转化为可落地的商业行动。脱离业务场景的分析只是 “纸上谈兵” ...
2025-11-05教材入口:https://edu.cda.cn/goods/show/3151 “纲举目张,执本末从。” 若想在数据分析领域有所收获,一套合适的学习教材至 ...
2025-11-05教材入口:https://edu.cda.cn/goods/show/3151 “纲举目张,执本末从。” 若想在数据分析领域有所收获,一套合适的学习教材至 ...
2025-11-04【2025最新版】CDA考试教材:CDA教材一级:商业数据分析(2025)__商业数据分析_cda教材_考试教材 (cdaglobal.com) ...
2025-11-04在数字化时代,数据挖掘不再是实验室里的技术探索,而是驱动商业决策的核心能力 —— 它能从海量数据中挖掘出 “降低成本、提升 ...
2025-11-04在 DDPM(Denoising Diffusion Probabilistic Models)训练过程中,开发者最常困惑的问题莫过于:“我的模型 loss 降到多少才算 ...
2025-11-04在 CDA(Certified Data Analyst)数据分析师的工作中,“无监督样本分组” 是高频需求 —— 例如 “将用户按行为特征分为高价值 ...
2025-11-04当沃尔玛数据分析师首次发现 “啤酒与尿布” 的高频共现规律时,他们揭开了数据挖掘最迷人的面纱 —— 那些隐藏在消费行为背后 ...
2025-11-03这个问题精准切中了配对样本统计检验的核心差异点,理解二者区别是避免统计方法误用的关键。核心结论是:stats.ttest_rel(配对 ...
2025-11-03在 CDA(Certified Data Analyst)数据分析师的工作中,“高维数据的潜在规律挖掘” 是进阶需求 —— 例如用户行为包含 “浏览次 ...
2025-11-03在 MySQL 数据查询中,“按顺序计数” 是高频需求 —— 例如 “统计近 7 天每日订单量”“按用户 ID 顺序展示消费记录”“按产品 ...
2025-10-31在数据分析中,“累计百分比” 是衡量 “部分与整体关系” 的核心指标 —— 它通过 “逐步累加的占比”,直观呈现数据的分布特征 ...
2025-10-31在 CDA(Certified Data Analyst)数据分析师的工作中,“二分类预测” 是高频需求 —— 例如 “预测用户是否会流失”“判断客户 ...
2025-10-31在 MySQL 实际应用中,“频繁写入同一表” 是常见场景 —— 如实时日志存储(用户操作日志、系统运行日志)、高频交易记录(支付 ...
2025-10-30为帮助教育工作者、研究者科学分析 “班级规模” 与 “平均成绩” 的关联关系,我将从相关系数的核心定义与类型切入,详解 “数 ...
2025-10-30对 CDA(Certified Data Analyst)数据分析师而言,“相关系数” 不是简单的数字计算,而是 “从业务问题出发,量化变量间关联强 ...
2025-10-30在构建前向神经网络(Feedforward Neural Network,简称 FNN)时,“隐藏层数目设多少?每个隐藏层该放多少个神经元?” 是每个 ...
2025-10-29这个问题切中了 Excel 用户的常见困惑 —— 将 “数据可视化工具” 与 “数据挖掘算法” 的功能边界混淆。核心结论是:Excel 透 ...
2025-10-29在 CDA(Certified Data Analyst)数据分析师的工作中,“多组数据差异验证” 是高频需求 —— 例如 “3 家门店的销售额是否有显 ...
2025-10-29