问题标签 [rollapply]

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 投票
2 回答
880 浏览

r - 将 List 转换为 zoo 并在 List 上使用 rollapply

我想将列表对象转换为zoo然后应用于rollapplyzoo对象。下面复制的简短示例(我有 90,000 个此类文件要处理,使用 UNIX :))。假设我的列表有两个数据框。

1)我想将每个数据框中的日期转换为这种格式:

我知道lapply可以做到这一点,但我尝试过但没有成功。

一旦我得到我的zoo对象,我想使用rollapply

上面的代码所做的是将一个 3 天的窗口集中在 zooobject 中数据框的每一列上,并对这些值求和。提取 3 天总数中每年的最大值。

输出应类似于:

只需要 c(12,1,2) 月份中的值。

0 投票
1 回答
715 浏览

r - rollapply:修复每个滑动窗口中的起始观察?

简单的动物园对象是

是否有可能使开始观察是固定的,即在日期“1970-02-04”我们的平均值超过“11、12、13、14”而不是“12、13、14”等等?当然可以通过循环来完成,但如果问题有点复杂,循环会非常慢,我一直在寻找与apply, 或. 一样快的东西rollapply

0 投票
4 回答
720 浏览

r - 有效地执行逐行分布测试

我有一个矩阵,其中每一行都是来自分布的样本。我想ks.test在每种情况下使用并保存测试统计数据对分布进行滚动比较。从概念上实现这一点的最简单方法是使用循环:

但是,对于单个示例,我的真实数据有约 400 列和约 300,000 行,而且我有很多示例。所以我希望这很快。Kolmogorov-Smirnov 检验在数学上并不是那么复杂,所以如果答案是“实现它Rcpp”,我会勉强接受,但我会有点惊讶——在一对上计算已经非常快了在 R。

我尝试过但无法正常工作的方法:dplyrusing rowwise/do/lagzoousing rollapply(这是我用来生成分布的方法)和data.table循环填充 a (编辑:这个有效,但仍然很慢)。

0 投票
1 回答
1084 浏览

r - 滚动申请R中的部分时间序列

给定

我希望能够汇总到以下内容:

我使用 rollapply 尝试了以下操作,但无济于事:

任何帮助将不胜感激。第二个看起来最有希望,但我必须定制一个滞后?

0 投票
3 回答
543 浏览

r - 在过去 365 天窗口中执行运行总计的有效方法

这是我的数据框的样子:

库(数据表)

最后一列是我想要的列,它是过去 365 天滚动窗口中 SalesAmount(每个名称)的累积总和,我在 @6pool 的帮助下执行了此操作。他的解决方案是:

但是,df$RunningTotal365 <- f(1:nrow(df)) 需要很长时间(到目前为止超过 1.5 天),因为我的数据框超过 150 万行。在我最初的问题中,有人建议我“rollapply”,但我一直在努力弄清楚如何在这种情况下使用它。请帮忙。

0 投票
2 回答
676 浏览

r - rollapply 平均前 5 年

我有一个像 coled z 一样的动物园 obj。

2013-12-01 0.0 2013-12-02 0.0 2013-12-03 0.0 2013-12-04 0.0 2013-12-05 0.2 2013-12-06 0.0 2013-12-07 0.0 2013-12-08 0.2 2013-12-09 0.0 ....

它存储每日降雨量。

我可以使用 rollapply usingi 计算 5 天的累积:

看起来不错

> m["2013-12",1] Allerona 2013-12-01 0.0 2013-12-02 0.0 2013-12-03 0.0 2013-12-04 0.0 2013-12-05 0.2 2013-12-06 0.2 2013-12-07 0.2 2013-12-08 0.2 2013-12-09 0.2 ...

我如何计算 5 年前每天的平均值?

谢谢

0 投票
1 回答
2628 浏览

r - 对此错误一无所知:“by”参数中的错误登录

我有以下数据集:

当我运行代码时:

我收到错误:

但是通过此代码按 team1 分组就可以正常工作:

很不知道为什么会这样。任何帮助表示赞赏。

0 投票
1 回答
580 浏览

r - rollapply with function that returns more than one value

Say I want to use rollapply with a function that returns more than on value. Like this:

I get an error. I also tried merging the results inside the function:

More errors.
I can do this:

...and it works.

However, what if I want to call fivenum or use something much more complicated and computationally intensive in the fun argument? Do I have to call rollapply for each value that I want to return, generating the same object over and over again?

Am I missing something or should I abandon rollapply and roll my own rolling window function?

Can you explain why this rollapply(openYHOO, width = 2, range) does not work?

0 投票
2 回答
4263 浏览

r - rollapply 中的对齐和偏移

我正在尝试计算移动窗口的一些统计数据,并在 zoo 包中使用 rollapply。我的问题是如何让 rollapply 将该函数应用于之前的 n 个观察而不是当前的观察和之前的 n-1 个观察,因为 align right 似乎是这样做的。

我有一个预感,这是由 ?rollapply 回答的“如果宽度是一个普通的数字向量,它的元素被认为是宽度与对齐一起解释,而如果宽度是一个列表,它的组件被认为是偏移量。在上述情况下,如果宽度的长度为 1 则宽度为每个点循环使用. 如果宽度是一个列表,它的组件表示整数偏移量,因此列表的第 i 个组件指的是位置 i + width[[i]] 的时间点。” 但我不知道这对 R 代码意味着什么,没有提供示例。

0 投票
1 回答
205 浏览

r - 具有固定起点的滚动窗口 adfTest

所以我想在循环中运行adfTestwith lag=0and type="c",所以起始窗口是 oflength=5而结束窗口是lenght=nrow(Data). 问题是我希望开始窗口是固定的,所以如果数据包含 10 个数据点,第一个结果来自1:5,第二个1:6,依此类推,直到它完成1:10

我试图用 rollapply 来做,但它不能以这种方式工作,我拥有的代码是:

它的作用是它创建了一个矩阵,我使用后者进行其他计算,并使用相应的丢失数据,这要归功于起始窗口。但问题是起始窗口不是固定的,所以第一个观察来自,1:5但第二个来自2:6; 它还计算 ADF,lag=1我不知道如何添加函数的rollapplyr选项lag=0

为了更清楚,假设我这样做rollapplyr(C$Dividend, 5, FUN=mean,by=sample_interval)了,随后的数据是我得到的结果和我想要的结果。

请注意,我想在循环中执行此操作,因为我希望每次完成循环时宽度都会增加,直到窗口是整个数据集的大小。