【发布时间】:2026-01-05 09:50:02
【问题描述】:
我正在为以下输出寻找一个 lapply/split 解决方案(或任何有效的解决方案):
library(dplyr)
set.seed(34)
startingframe <- data.frame(
time=rep(1:5,each=1,times=1),
othercolumn=rnorm(1:5)
)
startingframeout1 <- startingframe %>% dplyr::filter(time >= 1)
startingframeout2 <- startingframe %>% dplyr::filter(time >= 2)
startingframeout3 <- startingframe %>% dplyr::filter(time >= 3)
startingframelist <- list(startingframeout1, startingframeout2, startingframeout3)
startingframelist
[[1]]
time othercolumn
1 1 0.670620044
2 2 -0.849014621
3 3 1.066804504
4 4 -0.007460534
5 5 -0.402880091
[[2]]
time othercolumn
1 2 -0.849014621
2 3 1.066804504
3 4 -0.007460534
4 5 -0.402880091
[[3]]
time othercolumn
1 3 1.066804504
2 4 -0.007460534
3 5 -0.402880091
换句话说,我希望将startingframe 转换为满足数字过滤器的数据框列表。理想情况下,我会将过滤器范围输入到函数中,例如。 timefilter <- c(1:3)这里有一个类似但不是100%适用的解决方案:R: Split dataframe into list by group and row iteration
【问题讨论】: