03 · 数据清洗

医学数据分析与数据挖掘 · 理论知识演示(无代码)

← 演示列表 · 进入讲义

本节目标

学完本节,你将能够:

  • 理解数据清洗在质量评估与建模之间的角色
  • 掌握清洗的目标与原则:可追溯、可复现、有依据
  • 掌握缺失值处理的两种思路:删除与填补
  • 理解重复行识别与去重的逻辑
  • 理解异常值处理的多种策略(删除/截尾/保留并标注)
  • 理解类型与格式统一的意义

1. 清洗流程概述

在质量评估之后、建模分析之前的关键环节

数据清洗的角色

尽量不引入新偏差的前提下,把缺失、重复、异常、类型错误等问题处理成“可分析”的整洁数据。

医学研究:清洗决策(如删缺失还是填补、异常值删还是截尾)往往需要结合专业判断,并记录在分析报告中

目标与原则

  • 目标:得到每一行对应一条有效观测、每一列类型正确且含义明确的数据框。
  • 可追溯:保留原始数据或清洗脚本。
  • 可复现:用脚本而非手工改表。
  • 有依据:删除或填补要有理由并说明。

典型步骤(建议顺序)

  1. 缺失值处理(删除或填补)
  2. 重复行识别与去重
  3. 异常值识别与处理(删除 / 截尾 / 保留并标注)
  4. 类型与格式统一(数值 / 因子 / 日期等)

具体顺序可根据数据情况调整,但建议先缺失与重复,再异常与类型。

2. 缺失值处理

删除 vs 填补

为什么处理缺失

缺失要么导致后续函数报错或结果变为 NA,要么在建模时被默认删除,影响样本量。处理方式主要有“删除”和“填补”两类;选择哪种需结合缺失机制分析目的

删除与保留

  • 若缺失很少且可认为“完全随机”,可对分析用到的列做完整个案筛选。
  • 若某列缺失过多且非关键,可先删列再分析。
  • 注意:行删除会改变样本量,需在报告中说明。

简单填补

当缺失不可忽略且不宜删行时,可考虑简单填补:

  • 数值列:均值、中位数或分组中位数。
  • 分类列:众数或“缺失”作为单独类别。

复杂方法(如多重插补)在后续课程或专题中再学。

3. 重复与异常值

识别与处理思路

重复行

重复行可能来自重复录入多次导出。需先识别(如整行完全相同,或按业务主键如“患者 ID + 就诊日期”判定),再决定保留哪一条(通常保留第一条)。

异常值处理思路

异常值可能是录入错误真实极端值。处理没有统一答案:

  • 删除:直接剔除可疑记录。
  • 截尾:如将超过 P99 的改为 P99。
  • 保留并做敏感性分析:比较包含/不包含异常值的结果。

医学上常结合临床合理范围(如收缩压 80–200 mmHg)做判断。

4. 类型与格式统一

为什么要统一

读入的列有时是字符型(如 "12"、"男/女"),需要转为数值或因子;日期可能以字符串形式存在,需统一解析。统一后便于后续运算与建模。

小结

  • 清洗要有据可查、可复现。
  • 常见顺序:缺失 → 重复 → 异常 → 类型。
  • 缺失:删除(完整个案)或简单填补(均值/中位数/众数)。
  • 重复:按主键去重,保留一条。
  • 异常:结合统计规则与临床范围,删除/截尾/敏感性分析。

谢谢

返回演示列表 · 进入 03 讲义