⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

R数据清洗:使用tidyr整理数据

学习使用tidyr包对数据进行清洗与整理,处理缺失值、拆分合并列、转换长宽格式。 · 难度:入门 · +15XP

数据清洗的重要性

真实世界的数据往往杂乱无章:存在缺失值、列名不规范、格式不统一。R的tidyr包提供了一系列函数帮助我们将数据整理为整洁格式(Tidy Data):每一列是一个变量,每一行是一个观测。

1. 处理缺失值

使用drop_na()删除含缺失值的行,或用replace_na()填充缺失值。

library(tidyr)
df <- data.frame(
  id = 1:4,
  x = c(NA, 2, 3, NA),
  y = c('a', NA, 'c', 'd')
)
df_clean <- drop_na(df)
print(df_clean)

2. 长宽格式转换

pivot_longer()将宽表变长表,pivot_wider()将长表变宽表。

wide <- data.frame(
  id = 1:2,
  Q1 = c(90, 85),
  Q2 = c(88, 92)
)
long <- pivot_longer(wide, cols = c(Q1, Q2), names_to = 'quarter', values_to = 'score')
print(long)

3. 拆分与合并列

separate()将一列拆分为多列,unite()将多列合并为一列。

df <- data.frame(name_date = c('Alice_2024', 'Bob_2023'))
df_split <- separate(df, name_date, into = c('name', 'year'), sep = '_')
print(df_split)
函数作用
drop_na()删除含NA的行
replace_na()替换NA为指定值
pivot_longer()宽表转长表
pivot_wider()长表转宽表
separate()拆分列
unite()合并列

练习提示:尝试使用pivot_longer()将内置数据集iris的花朵测量列转换为长格式,并观察结果。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 71 篇
0 完成
🔥 0