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

如何基于Date变量将data.frame从宽格式转长格式(匹配economics_long)

将宽格式时间序列数据转换为economics_long格式的一行代码解决方案

你要的一行代码解决方案可以用tidyr包的pivot_longer()函数实现,完全不需要手动拆分合并数据集:

library(tidyr)
df_long <- pivot_longer(your_dataframe_name, cols = -Date, names_to = "Variable", values_to = "Value")

参数说明

  • your_dataframe_name:替换成你实际的data.frame名称
  • cols = -Date:指定排除Date列,把剩余的所有数值列(pce、pop、psavert等)转换成长格式的变量
  • names_to = "Variable":将原宽格式的列名(比如pce、pop)存入新的Variable列
  • values_to = "Value":将原宽格式各列的对应数值存入新的Value列

如果使用旧版本的tidyr,可以用兼容的gather()函数,代码更简洁:

df_long <- gather(your_dataframe_name, key = "Variable", value = "Value", -Date)

执行后,df_long的结构就和economics_long完全一致:每行对应一个日期、一个变量名称和该变量在当日的取值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 16:04:54