You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何转置数据框,使字符型变量取值转列且缺失值填0

这是典型的长数据框转宽数据框操作,两种常用实现方案如下:

方案1:使用tidyverse工具链实现(代码更简洁)

# 加载依赖包,未安装可先运行 install.packages("tidyverse")
library(tidyverse)

# 执行长宽转换,缺失值自动填充为0
res <- df %>%
  pivot_wider(
    id_cols = ID,
    names_from = Type,
    values_from = Value,
    values_fill = 0
  )

运行后输出结果:

IDAB
12.58
210.00
37.00

方案2:基础R实现(无需安装额外依赖包)

# 调用基础reshape函数转换
res <- reshape(
  df,
  idvar = "ID",
  timevar = "Type",
  direction = "wide"
)
# 替换缺失值为0
res[is.na(res)] <- 0
# 修正列名
colnames(res) <- c("ID", "A", "B")

内容的提问来源于stack exchange,提问作者Teo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 14:06:03