Evan の Logbook
✨ Updates
🎨 Style Guide
🧠 Creative Resources
🗒️ Mind Notes
🧭 Knowbase
📘 SOPs
🩺 Medical Research
🛠️ Tech Chronicles
💰 Fortune Blueprint
📈 R Visionary
📊 Statistics
🖼️ BioVis
🕳️R缺失值与空值处理(na.omit & evanverse::is_void)
type
status
date
slug
summary
tags
category
icon
password
comment
1. na.omit:批量去除含有NA的行
- 用于数据框、向量、时间序列等,返回“无NA”的完整观测
- 行号会被重置为原行号(行名不变)
2. evanverse::is_void():更通用的“空值”判定
函数设计
is_void() 来自 evanverse 包,设计用于灵活判定以下多种“无效/空值”:NA
NULL
- 空字符串
""
- 可选:分别控制每种类型是否计为空
参数说明
x:向量或列表(支持混合类型)
include_na:是否将NA判为空(默认TRUE)
include_null:是否将NULL判为空(默认TRUE)
include_empty_str:是否将""判为空(默认TRUE)
代码定义
示例与进阶用法
进阶场景
- 适用于清理既有 NA、又有""、还可能混入 NULL的数据集
- 可用于判断列表、数据框中哪一行/列/元素是“全空”或“部分空”
- 可作为复杂数据导入、整合、去冗余的前置数据清理工具
与基础R判空函数对比
功能 | is.na | na.omit | is_void(evanverse) |
识别 NA | ✔ | ✔ | ✔ |
识别 NULL | × | × | ✔(可选) |
识别空字符串 | × | × | ✔(可选) |
支持向量/列表 | ✔ | ✔ | ✔(列表递归) |
参数自定义 | × | × | ✔ |
适用范围 | 仅NA | 仅NA | NA、NULL、"" 可灵活扩展 |
3. 场景推荐与组合技巧
- 用
na.omit()快速剔除含 NA 行
- 用
is_void()做更灵活的批量判空/数据清洗、特别是数据导入和日志/接口返回等不标准“空值”场景
- 可结合
apply()、purrr::map()等函数,对数据框或嵌套结构做批量空值检测
本页可补充其它如is.na()、complete.cases()、tidyr::drop_na()等判空方法。如需结合evanverse包更多实用工具,请补充用例或实际项目经验。
Prev
R集合归属与反归属运算符:%in% 与 %nin%
Next
R字符串匹配 grep 与 grepl 实用技巧
Loading...
YouTube 使用笔记