Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.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 按日期划分的xts文件子集_R_Subset_Xts - Fatal编程技术网

R 按日期划分的xts文件子集

R 按日期划分的xts文件子集,r,subset,xts,R,Subset,Xts,我刚开始用R编码,发现自己被卡住了。我的文件由高频股票指数数据组成,并转换为xts文件。 见下文(左栏为日期和时间,右栏为日内返回): 我的数据持续了五年,我想用500天的时间对其进行子集,然后循环向前移动30天。然而,循环本身是不需要的,但是如何构造这种函数的帮助将受到高度赞赏 我使用了以下函数,其中我的数据集名为“DIRV”,即日内收益的总和: b<-head(DIRV, n=500) L<-as.Date(index(b)[1]) J<-as.Date(index(b

我刚开始用R编码,发现自己被卡住了。我的文件由高频股票指数数据组成,并转换为xts文件。 见下文(左栏为日期和时间,右栏为日内返回):

我的数据持续了五年,我想用500天的时间对其进行子集,然后循环向前移动30天。然而,循环本身是不需要的,但是如何构造这种函数的帮助将受到高度赞赏

我使用了以下函数,其中我的数据集名为“DIRV”,即日内收益的总和:

b<-head(DIRV, n=500)

L<-as.Date(index(b)[1])

J<-as.Date(index(b)[500])

V<-IRV["L/J"]

b您的错误是因为您试图在日期时间内将字符串
“L/J”
作为子集,这对子集操作没有意义。此外,您还应注意不要返回
L
J
,这可能发生在数据的边界上,否则您会出错

请尝试以下操作以避免出现错误:

if (is.na(L) || is.na(J)) stop("Not a valid date range.")
V <-IRV[paste0(L,"/", J), ]
if(is.na(L)| is.na(J))停止(“不是有效的日期范围”)

非常感谢FXQuantTrader“paste0”函数正是我要寻找的函数,现在脚本工作正常。在这种情况下,我没有让rollapplyr工作,因为它要求我按分钟滚动,而不是按天滚动,而且由于日内数据不是规则的,因为它在某些天内包含不同数量的观察,所以我无法准确地运行此函数。
if (is.na(L) || is.na(J)) stop("Not a valid date range.")
V <-IRV[paste0(L,"/", J), ]