我正在使用 R 使用 zoo 和 chron 进行一些时间序列分析。我有一个包含大量数据的动物园对象,并且需要能够使用该window
函数将数据子集为仅一天的价值,然后是第二天的价值,然后是下一天的价值,等等。
我试图找到最简单的方法来创建一个数组,其中包含特定时期内每一天的日期,并提出了以下内容:
orig = c(month=1, day=1, year=2005)
dates <- chron(1:1825, origin=orig, out.format=c(dates="d/m/y", times="h:m"))
这使用儒略日表示法,从我日期期间的第一天开始,有 1825 天(365*5 - 所以五年)。然后我尝试使用该数组的每个元素执行一个 for 循环:
for (date in dates)
{
s = chron(date, "00:00:00", origin=orig)
e = chron(date, "23:59:59", origin=orig)
aeronet_day = window(aeronet, start=s, end=e)
}
但是,这给了我一个警告,说我对aeronet
zoo 对象和s
ande
变量使用了不同的来源,并且它没有选择任何数据。
有一个更好的方法吗?或者有办法解决这个问题?基本上我想要的是运行一个 for 循环,在循环中我可以使用aeronet_day = window(aeronet, start=s, end=e)
代码生成一个包含一天数据的动物园对象(例如 2005 年 5 月 1 日从 00:00:00 到 23:59:59。