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

如何在R中使用pivot_longer将宽格式tibble重排为指定字段的长表?

转换方案

完全可以用pivot_longer实现需求,核心是利用.value特殊参数自动识别拆分后的指标列,不需要额外做合并操作,具体实现代码如下:

# 需提前加载tidyr包,tidyverse环境默认已包含
library(tidyr)

df_long <- df %>%
  pivot_longer(
    cols = !club, # 除club列外的所有列参与重塑
    names_sep = "_", # 按下划线拆分原列名
    names_to = c("year", ".value") # 拆分后第一段存为year列,第二段作为新列名
  )

输出效果

转换后会直接生成你要求的club、year、revenue、division列顺序的长表,示例输出如下(revenue为随机数,和你运行结果会有差异):

# A tibble: 6 × 4
  club        year  revenue division
  <chr>       <chr>   <dbl> <chr>   
1 Avai        2019     242. A       
2 Avai        2018     167. B       
3 Avai        2017     271. A       
4 Figueirense 2019     134. B       
5 Figueirense 2018     289. B       
6 Figueirense 2017     195. B  

如果需要严格固定列顺序,可以在代码末尾加select(club, year, revenue, division)即可。


内容的提问来源于stack exchange,提问作者Enzo De Gaspari Ramos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:27:03