我的样本数据如下。 有event,datetime和ten_minute。 日期时间的格式是" POSIXlt" " POSIXt&#34 ;.十分钟只是datetime变量中分钟的第一个数字的子串。
我想使用R生成多个滚动数据集。例如,Data_1具有ten_minute值为0,1,2的行.Data_2具有ten_minute值为1,2,3的行。(最后,Data_n将有值3,4,5。)我也想改变窗口的宽度。在此示例中,窗口的宽度为3.我想将宽度更改为5,10等等。
我在一周内尝试过R编码。但我无法弄清楚如何做到这一点。
答案 0 :(得分:0)
首先,生成所需窗口的函数:
generate.windows <- function(vec.start, vec.numberofsets, vec.wdith) {
vec.sets <- vec.start:vec.numberofsets
lapply(vec.sets, function(n) {
seq(from = n, length.out = vec.wdith)})}
接下来,提取与每个窗口对应的data.frames:
# Assume your original data set is called df.data
list.windows <- generate.windows(1, 10, 3)
list.data.frames <- lapply(list.windows, function(n) {df.data[df.data[,"Ten_minute"] %in% n,]}