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

从多个时间序列数据框提取列创建新DataFrame

提取Austria列创建新数据框的方法

嘿,这事儿其实挺容易搞定的,我给你分享几种实用的方法,你可以根据自己的习惯选~

方法一:基础R实现(无需额外包)

如果你的两个数据框shortterm.df和longterm.df的Date列完全一致(就像你提供的示例那样),可以直接构造新数据框,同时给两个Austria列重命名避免冲突:

# 直接提取列并创建新数据框
new_df <- data.frame(
  Date = shortterm.df$Date,  # 两个Date列相同,取任意一个都可以
  Short_Austria = shortterm.df$Austria,
  Long_Austria = longterm.df$Austria
)

如果Date列可能存在不一致(比如部分日期缺失或不匹配),推荐用merge函数按日期匹配,这样更稳妥:

# 按Date合并两个数据框的Austria列
new_df_merge <- merge(
  shortterm.df[, c("Date", "Austria")],
  longterm.df[, c("Date", "Austria")],
  by = "Date",
  suffixes = c("_short", "_long")
)

方法二:用dplyr(tidyverse风格)

如果你习惯用tidyverse工具链,dplyr的代码会更简洁易读:

首先确保你已经安装并加载了dplyr:

install.packages("dplyr")  # 第一次用需要安装
library(dplyr)

然后可以用bind_cols快速合并(适合Date完全一致的情况):

new_df_dplyr <- bind_cols(
  shortterm.df %>% select(Date, Short_Austria = Austria),
  longterm.df %>% select(Long_Austria = Austria)
)

如果需要处理Date不一致的情况,用left_join按日期匹配:

new_df_dplyr_merge <- left_join(
  shortterm.df %>% select(Date, Short_Austria = Austria),
  longterm.df %>% select(Date, Long_Austria = Austria),
  by = "Date"
)

不管用哪种方法,最终得到的新数据框都会包含时间序列的Date列,以及分别来自短期和长期数据的Austria数值,方便后续的分析或可视化~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:18:26