滚动数据集具有不同的行号

时间:2016-01-13 00:31:49

标签: r dataset

我的样本数据如下。 有event,datetime和ten_minute。 日期时间的格式是" POSIXlt" " POSIXt&#34 ;.十分钟只是datetime变量中分钟的第一个数字的子串。

enter image description here

我想使用R生成多个滚动数据集。例如,Data_1具有ten_minute值为0,1,2的行.Data_2具有ten_minute值为1,2,3的行。(最后,Data_n将有值3,4,5。)我也想改变窗口的宽度。在此示例中,窗口的宽度为3.我想将宽度更改为5,10等等。

我在一周内尝试过R编码。但我无法弄清楚如何做到这一点。

1 个答案:

答案 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,]}