问题标签 [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.
r - R:合并两个不规则时间序列
我有两个多元时间序列 x 和 y,它们的时间范围大致相同(一个比另一个早两年开始,但它们在同一日期结束)。两个系列都缺少日期列旁边的空列形式的观察结果,并且从某种意义上说,其中一个系列有多个日期在另一个系列中找不到,反之亦然。
我想创建一个数据框(或类似的),其中有一列列出了在 x 或 y 中找到的所有日期,没有重复的日期。对于每个日期(行),我想将 x 的观察值水平堆叠在 y 的观察值旁边,NA 填充缺失的单元格。例子:
我尝试过:使用 zoo 包,我尝试过 merge.zoo 方法,但这似乎只是将两个系列彼此相邻堆叠,日期(如数字,例如“1987-01-02”所示作为 6210)来自每个系列,出现在两个单独的列中。
我已经坐了几个小时几乎一无所获,所以所有的帮助都是值得的。
编辑:根据 Soumendra 的建议,下面包含一些代码
编辑:通过(使用动物园包)解决的问题
感谢大家的帮助。
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”。有自动的方法吗?
谢谢
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 列),我想有一种更简单的方法可以在不使用循环的情况下做到这一点......所以如果你知道怎么样,请帮忙。谢谢!
r - na.locf 但不做尾随 NA
我有以下时间序列
直接 na.locf 给我这个:
我该怎么做?
除了最后一个非缺失值之外,我不希望最后的观察结果被结转。即尾随的 NA 不会被替换。非常感谢你的帮助!
r - 向 xts 图添加点
我认为使用 xts 对象在绘图中添加点、图例和文本可以解决这个问题,但显然不是......
这似乎是直接从教科书出来的。?plot.zoo
不包含任何示例point()
。
r - 在动物园工作几个月
我想用一个变量来增加一个动物园对象,我可以用它来测试月份的变化。我确信有更通用的方法可以做到这一点。那里的建议会很好,但我想了解为什么这种简单的方法会失败。如果我了解我在这里缺少的东西,我会感觉更好;-)
例如对于动物园对象
使用 as.yearmon() 添加年/月变量似乎很容易。如果我在一个数据框中,这将产生一个很好的字符变量,但是如果你忘记包装 as.numeric() 在动物园里悲剧就会发生
这看起来很棒,我可以成功比较数据元素
(tz$x[6] != tz$y[6])
2008-03-09
错误
但是为什么当我比较年/月变量时会得到这个结果?
为什么以这种方式测试 yearmon 或带有 same() 的数据项会失败?(两者都应该是真的)
我在使用在动物园中创建索引类的 yearmon() 时只是在玩火吗?我应该改用 Dirk Eddelbuettel 的“把日期变成月份数字”这样的东西吗? 两个日期之间的月数
r - 使用“xts”包中的“to.weekly”函数的错误周末日期
我有一个非常奇怪的问题......我正在使用to.weekly
andto.period
函数将每日xts
对象转换为每周数据。在大多数情况下,我将周末日期设为星期五(day.of.week
函数将返回 5)(例如"2010-01-08"
, "2011-02-11"
),但在少数情况下,我得到的不是星期五(星期六/星期日/星期四/等)
我已经尝试过to.weekly
,to.period(x, period = 'weeks')
并且都返回了同样的问题。
为什么会这样?有解决方法吗?
谢谢!!
[编辑:以下示例]
这将返回不是星期五的日期:time(to.weekly(test.xts))[dayofweek(time(to.weekly(test.xts))) != 5]
r - 在任意时间范围内聚合(计数)值的出现
我有一个 CSV 文件,其中包含此时发生的时间戳和某些事件类型。我想要的是每隔 6 分钟计算某些事件类型的发生次数。
输入数据如下所示:
我用这段代码加载和处理数据:
固化后的数据如下所示:
我为 xts 和 zoo 阅读了很多样本,但不知何故我无法掌握它。输出数据应类似于:
Zoo 的聚合函数看起来很有希望,我发现了这个代码片段:
现在我只是想知道如何将其应用于我的用例。
我尝试过天真:
我必须承认我对 R 不是很有信心,但我会尝试。:-)
我有点迷路了。谁能指出我正确的方向?
非常感谢!干杯,亚历克斯。
这里是我数据的一小部分的 dput 输出。数据本身大约有 8000 万行。
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.
r - Rollapply & xts。我可以在窗口中输出最大值的时间吗?
我正在通过 quantmod 研究一些雅虎财务数据。
我如何不仅确定滚动数据窗口中的最高和最低价格,还确定这些高点和低点的确切时间戳?我试过 which.max() 与 rollapply 但这仅报告滚动窗口本身中值的序列,而不是包含时间戳的行的 .index() 。
任何人都可以提出解决方案吗?
下面是一个可重现的示例,以及我想要的一些示例输出......
我想生成的输出类型看起来像:
理想情况下,我采取的任何方法都必须考虑到常见的重复价格这一事实,在这种情况下,我会命令我的窗口采用最大值中的第一个和最小值中的最后一个。