【发布时间】:2018-11-10 23:04:18
【问题描述】:
这是我的数据框:
structure(list(dates = structure(c(16162, 16161, 16160, 16157,
16156, 16155, 16154, 16153, 16150, 16149, 16148, 16147, 16146,
16143, 16142, 16141, 16140, 16139, 16136, 16135, 16134, 16129,
16128, 16127, 16126, 16125, 16122, 16121, 16120, 16119, 16118,
16115, 16114, 16113, 16112, 16111, 16108, 16107, 16106, 16105,
16104, 16101, 16100, 16099, 16098, 16097, 16094, 16093, 16092,
16091), class = "Date"), VALE5 = c(28.29, 28.26, 28.35, 27.81,
27.85, 27.5, 27.61, 27.16, 27.2, 26.64, 26.57, 26.55, 26, 26.1,
25.9, 26.46, 26.1, 26.37, 27.09, 28.11, 28.11, 29.09, 29.31,
29.02, 29, 29.76, 30.61, 30.59, 30.9, 30.6, 30.74, 30.96, 30.76,
30.79, 30.77, 30.44, 30.66, 30.8, 29.94, 29.58, 29.1, 30, 29.76,
29.96, 28.88, 28.54, 28.63, 28.15, 28.91, 28.48)), row.names = c(NA,
50L), class = "data.frame")
我想这样设置窗口功能:
window(sample,start=c(2014,03,26),end=c(2014,04,02))
我的sample 数据框有什么问题?日期列具有类Date。使用window功能还不够?
我该如何解决?
非常感谢。
【问题讨论】:
-
我认为
window应该用于ts类时间序列对象,而你有一个data.frame。您是否只是想选择特定时期内的行,例如sample[sample$dates >= "2014-03-26" & sample$dates <= "2014-04-02",]? -
@thelatemail 谢谢。是的。但在选择日期后,我将滚动此窗口。我将估计 OLS 回归。是否可以使用
sample[sample$dates >= "2014-03-26" & sample$dates <= "2014-04-02",]idea 进行滚动? -
这应该是可能的,但不是我个人做过的事情——你可能想看看
zoo包,它有很多roll*函数,特别是rollapply,它可以让你将任意函数应用于值的移动/滚动窗口。请参阅此处的示例 - stackoverflow.com/questions/13324362/… -
我编辑了样本大小。我怎么能让 10 号大小的窗户每天都在移动。这就是我想要的。
标签: r