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

R语言如何将DataFrame拆分为包含历史累计分组数据的列表

通用实现代码(tidyverse 版本)

library(dplyr)

# 自动识别tour的总分组数,适配任意长度的dates_tour
n_tour <- length(levels(df$tour))

# 生成包含累计分组的列表
df_list <- lapply(1:n_tour, function(k) filter(df, tour <= k))

# 可选:为列表元素命名,方便后续按名称调用
names(df_list) <- paste0("tour_1_to_", 1:n_tour)

逻辑说明

  • 你通过cut生成的tour因子是按时间顺序排列的,水平值正好是1到length(dates_tour)-1的整数序列,天然符合累加筛选的顺序要求
  • 代码通过遍历1到最大分组数,每次筛选所有tour值小于等于当前遍历值的行,即可得到每个列表元素包含当前及之前所有分组数据的效果
  • 不需要硬编码分组数量,自动适配任意长度的dates_tour向量

Base R 版本(无需加载dplyr)

n_tour <- nlevels(df$tour)
df_list <- lapply(1:n_tour, function(k) df[df$tour <= k, ])
names(df_list) <- paste0("tour_1_to_", 1:n_tour)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:45:03