问题标签 [zoo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
29245 浏览

r - R:合并两个不规则时间序列

我有两个多元时间序列 x 和 y,它们的时间范围大致相同(一个比另一个早两年开始,但它们在同一日期结束)。两个系列都缺少日期列旁边的空列形式的观察结果,并且从某种意义上说,其中一个系列有多个日期在另一个系列中找不到,反之亦然。

我想创建一个数据框(或类似的),其中有一列列出了在 x 或 y 中找到的所有日期,没有重复的日期。对于每个日期(行),我想将 x 的观察值水平堆叠在 y 的观察值旁边,NA 填充缺失的单元格。例子:

我尝试过:使用 zoo 包,我尝试过 merge.zoo 方法,但这似乎只是将两个系列彼此相邻堆叠,日期(如数字,例如“1987-01-02”所示作为 6210)来自每个系列,出现在两个单独的列中。

我已经坐了几个小时几乎一无所获,所以所有的帮助都是值得的。

编辑:根据 Soumendra 的建议,下面包含一些代码

编辑:通过(使用动物园包)解决的问题

感谢大家的帮助。

0 投票
1 回答
1552 浏览

r - 使用文件名命名列

我有数百个包含 2 列的 csv 文件(R 中的动物园对象):

"Index","pp"
1951-01-01,22.9
1951-01-02,4.3
1951-01-03,4.6

我希望第二列包含每个文件的名称。例如,当文件名是02O_zoo.csv我希望第二列是“02O”而不是“pp”。有自动的方法吗?

谢谢

0 投票
3 回答
4984 浏览

r - 如何在具有多列的动物园对象中使用`apply.monthly`

我有一个名为 pp 的动物园对象,其中包含每日数据和 77 列,如下所示:

我想使用apply.monthly每一列,所以最后我仍然会有 77 列,但每月数据而不是每日数据。我试过 apply.monthly(pp, FUN=sum)了,但结果是一个只有一列的动物园对象(我认为是添加所有列)。

我还尝试了一个循环:

for (i in 1:77) { mensal<-apply.monthly(pp[,i], FUN=sum) } 但它也只产生一列(第 77 列)。我也许可以通过一些试验和错误使循环工作,但计算需要很长时间(我有 17897 行和 77 列),我想有一种更简单的方法可以在不使用循环的情况下做到这一点......所以如果你知道怎么样,请帮忙。谢谢!

0 投票
1 回答
1896 浏览

r - na.locf 但不做尾随 NA

我有以下时间序列

直接 na.locf 给我这个:

我该怎么做?

除了最后一个非缺失值之外,我不希望最后的观察结果被结转。即尾随的 NA 不会被替换。非常感谢你的帮助!

0 投票
1 回答
2904 浏览

r - 向 xts 图添加点

我认为使用 xts 对象在绘图中添加点、图例和文本可以解决这个问题,但显然不是......

这似乎是直接从教科书出来的。?plot.zoo不包含任何示例point()

0 投票
1 回答
392 浏览

r - 在动物园工作几个月

我想用一个变量来增加一个动物园对象,我可以用它来测试月份的变化。我确信有更通用的方法可以做到这一点。那里的建议会很好,但我想了解为什么这种简单的方法会失败。如果我了解我在这里缺少的东西,我会感觉更好;-)

例如对于动物园对象

使用 as.yearmon() 添加年/月变量似乎很容易。如果我在一个数据框中,这将产生一个很好的字符变量,但是如果你忘记包装 as.numeric() 在动物园里悲剧就会发生

这看起来很棒,我可以成功比较数据元素

(tz$x[6] != tz$y[6])
2008-03-09
错误

但是为什么当我比较年/月变量时会得到这个结果?

为什么以这种方式测试 yearmon 或带有 same() 的数据项会失败?(两者都应该是真的)

我在使用在动物园中创建索引类的 yearmon() 时只是在玩火吗?我应该改用 Dirk Eddelbuettel 的“把日期变成月份数字”这样的东西吗? 两个日期之间的月数

0 投票
1 回答
1617 浏览

r - 使用“xts”包中的“to.weekly”函数的错误周末日期

我有一个非常奇怪的问题......我正在使用to.weeklyandto.period函数将每日xts对象转换为每周数据。在大多数情况下,我将周末日期设为星期五(day.of.week函数将返回 5)(例如"2010-01-08", "2011-02-11"),但在少数情况下,我得到的不是星期五(星期六/星期日/星期四/等)

我已经尝试过to.weeklyto.period(x, period = 'weeks')并且都返回了同样的问题。

为什么会这样?有解决方法吗?

谢谢!!

[编辑:以下示例]

这将返回不是星期五的日期:time(to.weekly(test.xts))[dayofweek(time(to.weekly(test.xts))) != 5]

0 投票
2 回答
3917 浏览

r - 在任意时间范围内聚合(计数)值的出现

我有一个 CSV 文件,其中包含此时发生的时间戳和某些事件类型。我想要的是每隔 6 分钟计算某些事件类型的发生次数。

输入数据如下所示:

我用这段代码加载和处理数据:

固化后的数据如下所示:

我为 xts 和 zoo 阅读了很多样本​​,但不知何故我无法掌握它。输出数据应类似于:

Zoo 的聚合函数看起来很有希望,我发现了这个代码片段:

现在我只是想知道如何将其应用于我的用例。

我尝试过天真:

我必须承认我对 R 不是很有信心,但我会尝试。:-)

我有点迷路了。谁能指出我正确的方向?

非常感谢!干杯,亚历克斯。

这里是我数据的一小部分的 dput 输出。数据本身大约有 8000 万行。

0 投票
2 回答
1748 浏览

list - Question regarding llply or lapply - applying functions to data.frames in a list

Dear R user community,

I have many data.frames in a list, as follows (only one data.frame in the list of 21 shown for convenience):

If I work on each data.frame in the list individually I can create a zoo object from temp and date, as such:

The zoo object looks like this:

How do I use llply or apply (or similar) to work on the whole list at once?

The output needs to go into a new list of data.frames, or a series of independent data.frames (each one named as in the zoo example above). Note that the date column, although a regular time series (days), contains missing dates (in addition to NAs for temps of existing dates); the missing dates will be filled by the zoo function. The output data.frame with the zoo object will thus be longer than the original one.

Help kindly appreciated.

0 投票
2 回答
1927 浏览

r - Rollapply & xts。我可以在窗口中输出最大值的时间吗?

我正在通过 quantmod 研究一些雅虎财务数据。

我如何不仅确定滚动数据窗口中的最高和最低价格,还确定这些高点和低点的确切时间戳?我试过 which.max() 与 rollapply 但这仅报告滚动窗口本身中值的序列,而不是包含时间戳的行的 .index() 。

任何人都可以提出解决方案吗?

下面是一个可重现的示例,以及我想要的一些示例输出......

我想生成的输出类型看起来像:

理想情况下,我采取的任何方法都必须考虑到常见的重复价格这一事实,在这种情况下,我会命令我的窗口采用最大值中的第一个和最小值中的最后一个。