Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在尝试从R使用窗口函数_R - Fatal编程技术网

正在尝试从R使用窗口函数

正在尝试从R使用窗口函数,r,R,这是我的数据帧: 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,

这是我的数据帧:

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))
library(zoo)

z <- read.zoo(sample)
window(z, start = "2014-03-26", end = "2014-04-02")
我的
示例
数据帧有什么问题?“日期”列具有类
Date
。仅使用
窗口
功能还不够吗

我怎样才能修好它

非常感谢。

1)window.zoo
window
用于时间序列对象,如
ts
zoo
ts
不适用于日常数据,但您可以将
sample
转换为zoo对象,然后按如下方式运行:

window(sample,start=c(2014,03,26),end=c(2014,04,02))
library(zoo)

z <- read.zoo(sample)
window(z, start = "2014-03-26", end = "2014-04-02")
2)子集此基本方法也可以工作,但不使用
窗口

subset(sample, dates >= "2014-03-26" & dates <= "2014-04-02")

我认为
window
应该用于
ts
类时间序列对象,而您有一个
data.frame
。您是否正在尝试选择特定期间的行,如
sample[sample$dates>=“2014-03-26”和sample$dates@thelatemail谢谢。是的。但选择日期后,我将滚动此窗口。我将估计OLS回归。是否可以使用
sample[sample$dates>=“2014-03-26”进行滚动&sample$dates这应该是可能的,但不是我个人做的事情-你可能想看看
zoo
软件包,它有许多
roll*
函数,特别是
rollappy
,它允许你对值的移动/滚动窗口应用任意函数。参见这里的示例-我编辑了t他的样本大小。我怎么能让大小为10的窗口每天移动。这就是我想要的。谢谢@G.Grothendieck。可以按日期移动此窗口吗?我将设置最后十个日期并运行lm回归。在另一个包含十个日期和另一个lm回归的窗口之后。您可以执行以下操作:
rollapplyr(z,3,函数(x)coef(lm(as.data.frame(x))),by.column=FALSE)