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

如何重构包含200+ bins的R Data Frame结构?

解决方案

可以用tidyverse工具集里的pivot_longer和pivot_wider函数快速完成这个数据重构,具体步骤如下:

首先确保安装并加载tidyverse:

# 首次使用时安装包
install.packages("tidyverse")
# 加载包
library(tidyverse)

假设你的原数据框名为df,执行以下代码:

df_target <- df %>%
  # 将所有bin开头的列转成长格式:Bin列存原列名,Value列存对应单元格值
  pivot_longer(cols = starts_with("bin"), 
               names_to = "Bin", 
               values_to = "Value") %>%
  # 将Index列的不同取值(DP/DPI/DPP)转为新列,填充对应Value的值
  pivot_wider(names_from = "Index", 
              values_from = "Value")

代码说明

  • pivot_longer(cols = starts_with("bin")):自动识别所有以bin开头的列,把它们合并成Bin和Value两列,同时保留GBO、Group、Index这三个分组列。
  • pivot_wider(names_from = "Index", values_from = "Value"):以Index列的取值作为新列名,将对应的Value值填充到对应位置,最终得到目标结构。

用你提供的样例数据测试,运行代码后会直接生成和目标格式完全一致的数据框。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 21:43:12