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

使用pivot_longer后,如何将DataFrame转为年份为行、国家为列

解决方案

步骤1:将原始宽格式数据转成长格式(若未完成)

如果你的原始数据是年份作为列的宽格式,先使用pivot_longer把年份列收拢为长格式:

library(tidyr)

# 转换为长格式:提取年份和对应GDP值
gdp_long <- gdp_df %>%
  pivot_longer(
    cols = `1997`:`2006`,  # 指定所有年份列的范围
    names_to = "year",     # 新列名:存储年份
    values_to = "gdp_value" # 新列名:存储对应年份的GDP值
  ) %>%
  select(-`Series Name`)  # 若Series Name列全为"GDP",可移除该列简化数据

步骤2:将长格式转成目标宽格式

接着用pivot_wider把国家转为列,年份作为行:

# 转换为目标结构:年份为行,各国GDP为列
gdp_final <- gdp_long %>%
  pivot_wider(
    names_from = Country,  # 用Country列的取值作为新列名(如西班牙、法国等)
    values_from = gdp_value # 对应列填充GDP数值
  ) %>%
  arrange(year)  # 按年份升序排序(可选操作)

转换后的数据结构会变为:

year西班牙法国...
1997xxxyyy...
1998xxxyyy...
............
2006xxxyyy...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 03:31:06