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

R语言中从时间序列交叉验证拆分列表提取测试集的更优方法

优化实现方法

你原来的手动逐个提取测试集再合并的写法可以大幅简化,两种常用实现方案如下:

方案1:tidyverse 简洁写法(推荐)

利用purrr包的迭代函数直接完成遍历提取、按行合并、日期排序全流程,不需要手动创建多个临时变量,拆分数量变化时也不需要修改代码:

# 仅需3行代码即可完成你原来的所有操作
df1 <- resamples_tscv$splits %>% 
  purrr::map_dfr(testing) %>% 
  dplyr::arrange(date)

说明:

  • map_dfr()会自动遍历所有拆分对象,调用testing()提取测试集,再自动按行拼接成统一的数据框,替代你手动创建10个t变量+do.call(rbind)的操作
  • arrange(date)直接按日期列排序,m750自带的date列默认是Date格式,不需要额外做格式转换

方案2:纯基础R简化写法

如果不想依赖tidyverse函数,也可以避免手动逐个提取拆分:

# 批量提取所有测试集
test_list <- lapply(resamples_tscv$splits, testing)
# 合并+排序
df <- do.call("rbind", test_list)
df1 <- df[order(df$date), ]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:24:04