时间窗口作为data.frame的行

时间:2014-03-27 18:20:53

标签: r dataframe

我有一个带日期的向量,我想为每个日期分配一个特定的时间窗口。 时间窗口的日期应该在data.frame的行中。在我的示例中,时间窗口包含参考/事件日期之前的5天。

我的载体:

days <- c("01.01.2000", "02.01.2000", "05.01.2000", "06.01.2000", "07.01.2000", "08.01.2000", "09.01.2000", "12.01.2000", "13.01.2000", "14.01.2000", "15.01.2000")

输出应该如下所示(07.01.2000之前的行并不重要。仅使用07.01.2000之后的数据):

#       days           1           2           3           4           5
# 01.01.2000
# 02.01.2000
# 05.01.2000
# 06.01.2000
# 07.01.2000 
# 08.01.2000  01.01.2000  02.01.2000  05.01.2000  06.01.2000  07.01.2000
# 09.01.2000  02.01.2000  05.01.2000  06.01.2000  07.01.2000  08.01.2000  
# 12.01.2000  05.01.2000  06.01.2000  07.01.2000  08.01.2000  09.01.2000
# 13.01.2000  06.01.2000  07.01.2000  08.01.2000  09.01.2000  12.01.2000
# 14.01.2000  07.01.2000  08.01.2000  09.01.2000  12.01.2000  13.01.2000
# 15.01.2000  08.01.2000  09.01.2000  12.01.2000  13.01.2000  14.01.2000

谢谢!

1 个答案:

答案 0 :(得分:2)

试试这个:

library(zoo)

z <- lag(zoo(days), -c(0, 5:1))
coredata(z)

如果您希望将结果作为动物园对象,则可以省略最后一行。