问题标签 [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 投票
1 回答
127 浏览

r - R:为什么我的向量是无序的?

假设我有这个动物园矢量

我想以某种顺序提取几个元素

有用!。但现在我尝试以不同的方式做到这一点

我不知道为什么我以不同的顺序得到它。我怎样才能保持我想要的顺序,我的列表顺序??我不介意它是一个列表、一个向量、按列还是按行,但我想按照我要求的顺序得到它。

干杯

0 投票
1 回答
7738 浏览

r - 在 R 中按周聚合

在 RI 中,经常按月聚合每日数据(在 a 中zoo),使用如下所示:

result <- aggregate(x, as.yearmon, "mean", na.rm=TRUE)

有没有办法可以按周做到这一点?

0 投票
1 回答
2831 浏览

r - 在 R 中跨动物园对象快速应用 xts 向量操作

这真的是我昨天了解的问题apply.weekly的延伸。这很好用,但我想在宽zoo对象上执行此操作。如果我apply.weekly在广泛使用zoo它对列求和,然后执行每周聚合:

我尝试了apply操作符系列,但它们似乎去掉了zoo日期索引。我可以for循环执行,但这确实很耗时(比周期性aggregate函数慢四倍多)。as.yearmon这是for循环:

哪个有效(即,保持每个向量分开):

有没有办法快速对所有列进行操作apply.weekly?谢谢!

更新:Joshua Ulrich 指出我需要一个列感知功能(如colMeansor colSums)。当我这样做时,我得到了正确的答案,但作为一个转置矩阵。我应该重新分类并继续前进吗?还是我有一个选项/设置错误?

0 投票
1 回答
1812 浏览

r - Testing cointegration of two stocks using Yahoo Finance data

I am trying to perform a co-integration test on two stocks, using data from Yahoo Finance. From what I have been reading there are less complicated ways to retrieve Yahoo data. I need to retrieve two securities and define them as stk1 and stk2 as well as be able to adjust the time frame of the data retrieved. Here is what I have so far.

What tools exist to make this easier and/or more robust?

0 投票
3 回答
8311 浏览

r - 有没有办法强制 zoo::rollmean 函数返回一个与输入长度相同的向量?(或者也许使用其他功能?)

输出:

但是当我尝试绑定它时:

我想使用一个足够聪明的函数,如果它没有在向量的两端获取数据并仅根据它拥有的数据计算输出,则不要放弃。因此,例如在 input[1] 中,它将仅计算右侧的平均值

0 投票
3 回答
5867 浏览

r - 在两列上使用 Rollapply

我正在尝试做一些我在这里要求的类似事情,不幸的是我无法解决。

这是我的数据框(数据),价格的时间序列:

我想告诉 R,

  • 取“Vol”的第 1 个值除以“Price”的第 20 个值,然后
  • 取“Vol”的第 2 个值,然后除以“Price”的第 21 个值。
  • 取“Vol”的第 3 个值除以“Price”的第 22 个值,然后
  • 等等

在我的另一篇文章中,我能够使用此函数计算 20 天持有期的回报:

有没有办法为上述问题做一些非常相似的事情?所以像

其中 x 是“Vol”,y 是“Price”,然后应用“rollapply”?

非常感谢你

更新:@G 博士:感谢您的建议。稍作改动,它就做到了我想要的!

现在我的问题是,生成的数据框如下所示:

我知道必须有 NA 作为结果,但仅限于最后 20 次观察,而不是前 20 次观察。上述公式计算了正确的值,但是将它们从第 21 行而不是第一行开始。你知道我怎么能改变它吗?

0 投票
2 回答
1390 浏览

r - 使用 read.zoo 读取时间序列表

我到处找遍了,但我找不到以前在哪里问过这个问题。

将这些数据放入适当的动物园系列的干净方法是什么?这个版本是一个复制/粘贴,以使这篇文章更容易,但它总是以下表形式出现(来自文本文件)。我的 read.zoo() 语句将 Year 读取为索引,但将季度(Qtr1、Qtr2 等)读取为列名。我一直在试图找出一种非垃圾的方式来将列读取为索引的“四分之一”部分,但它很草率(太草率而无法发布)。我猜这个问题已经解决了,但我找不到。

从 as.yearqtr() 文档中,目标看起来像:

0 投票
1 回答
3208 浏览

datetime - 从频率 = 23 的不规则(as.Date)时间序列创建规则时间序列

我在 R 中有以下问题。我想从不规则时间序列(即日期和数据值列表)创建一个 ts() 对象(即规则时间序列)。

您可以使用以下数据集和 R 脚本重现该问题:

但这不起作用,因为我获得了一个包含每日时间步长的非常长的常规时间序列。我想获得一个频率 = 23 的 ts 对象,正确指示其数据不可用作 NA 的位置。

我一直在尝试基于此处列出的年度数据示例 将不规则时间序列转换为规则时间序列

但它不适用于频率为 23 的数据(即一年 23 个值)。我想我可以通过避免设置dd$DATUM as.Date()但作为一个动物园对象来解决它,该对象可以作为一个时间序列排序,每年有 23 个值。

有任何想法吗?

谢谢你的帮助

0 投票
2 回答
2078 浏览

r - rollapply 与“成长”窗口

伙计们,通常当您执行以下操作时:

rollapply从 10 个元素可用的那一刻开始计算值是非常正确的。

Unfortunately I need something that uses as much data as possible for the fist 10 observations, essentially a growing window of data till there is enough data to use a sliding window, e.g. 1, 1:2, 1:3, 1:4, etc. till we have at least 10 elements and then slide the window as usual.

Is there a better way to do this than an ugly for loop?

0 投票
1 回答
2872 浏览

r - 将每小时的动物园时间序列输入函数 stl()

在你问之前,是的,我需要展示这么多数据。stl() 需要两个周期的数据。在这种情况下,一个周期是 24 个值,因此 stl() 至少需要 48 个值。

此外,从 stl() 帮助:

“....这应该是频率大于一的“ts”类对象......”

我正在升级一些旧的计算,以便我的数据采用动物园格式。到目前为止,我已经升级了每月和每日数据,没有任何明显的问题,尽管存在 stl() 速度问题。我现在只剩下每小时的数据了。

当您运行代码时,“第一次尝试”和“第二次尝试”失败,而“第三次尝试”有效。为什么?我错过了什么真正明显的事情?从“注意接下来会发生什么”部分来看,是 stl() 从 zoo 系列到 ts 系列的内部转换导致了这个问题吗?