Evan の Logbook
✨ Updates
🎨 Style Guide
🧠 Creative Resources
🗒️ Mind Notes
🧭 Knowbase
📘 SOPs
🩺 Medical Research
🛠️ Tech Chronicles
💰 Fortune Blueprint
📈 R Visionary
📊 Statistics
🖼️ BioVis
🔁pivot_wider():长表 → 宽表(long → wide)
type
status
date
slug
summary
tags
category
icon
password
comment
pivot_wider() 是 tidyr 中的逆向变形工具,与 pivot_longer() 配对使用,可将“长格式”数据恢复成“宽格式”。常用于生成交叉表、热图输入或还原模型输出。1. 函数原型
参数 | 含义 |
data | 长格式输入数据框 |
names_from | 将哪一列的值转成新列名 |
values_from | 将哪一列的值填入新列 |
values_fill | 缺失时填充值,如 0 或 NA |
names_prefix | 展开后的列名前缀 |
names_sep | 多个 names_from 时的连接符,默认 _ |
2. 基础示例
示例数据
2.1 简单展开
将
key 的值变成列名,value 填入对应位置:结果:
id | A | B |
1 | 10 | 20 |
2 | 30 | 40 |
3. 缺失值填充
当某些组合不存在时,可用
values_fill 补全:结果:Bob 的 Science 列会填 0 而非 NA。
4. 多值列同时展开
当除了
value 还有其它测量列时,一次展开多个:结果列:
val1_A, val1_B, val2_A, val2_B。5. 使用建议
- 交叉表构建:配合
count()、complete(),轻松生成频数或统计量矩阵。
- 热图准备:将长表转宽表后,可以直接用
pheatmap()、geom_tile()等可视化。
- 逆向验证:与
pivot_longer()互为逆操作,来回检验数据完整性。
- 填充值注意:根据分析需求选择合理的
values_fill,避免误将 0 当真实观测。
对照一览
操作 函数 功能描述 宽 → 长pivot_longer() 多列 → 两列(变量+值) 长 → 宽pivot_wider() 两列 → 多列
掌握这两大 reshape 函数,让你的数据在“宽”与“长”之间自由切换,满足各种统计与可视化需求!
Prev
gtsummary + gt:R语言三线表实践
Next
parse_number():提取字符串中的数字
Loading...
YouTube 使用笔记