🔁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
缺失时填充值,如 0NA
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...
Article List
Evan の Logbook
✨ Updates
🎨 Style Guide
🧠 Creative Resources
🗒️ Mind Notes
🧭 Knowbase
📘 SOPs
🩺 Medical Research
🛠️ Tech Chronicles
💰 Fortune Blueprint
📈 R Visionary
📊 Statistics
🖼️ BioVis