问题标签 [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.
r - 将 List 转换为 zoo 并在 List 上使用 rollapply
我想将列表对象转换为zoo
然后应用于rollapply
该zoo
对象。下面复制的简短示例(我有 90,000 个此类文件要处理,使用 UNIX :))。假设我的列表有两个数据框。
1)我想将每个数据框中的日期转换为这种格式:
我知道lapply
可以做到这一点,但我尝试过但没有成功。
一旦我得到我的zoo
对象,我想使用rollapply
:
上面的代码所做的是将一个 3 天的窗口集中在 zooobject 中数据框的每一列上,并对这些值求和。提取 3 天总数中每年的最大值。
输出应类似于:
只需要 c(12,1,2) 月份中的值。
r - rollapply:修复每个滑动窗口中的起始观察?
简单的动物园对象是
是否有可能使开始观察是固定的,即在日期“1970-02-04”我们的平均值超过“11、12、13、14”而不是“12、13、14”等等?当然可以通过循环来完成,但如果问题有点复杂,循环会非常慢,我一直在寻找与apply
, 或. 一样快的东西rollapply
。
r - 有效地执行逐行分布测试
我有一个矩阵,其中每一行都是来自分布的样本。我想ks.test
在每种情况下使用并保存测试统计数据对分布进行滚动比较。从概念上实现这一点的最简单方法是使用循环:
但是,对于单个示例,我的真实数据有约 400 列和约 300,000 行,而且我有很多示例。所以我希望这很快。Kolmogorov-Smirnov 检验在数学上并不是那么复杂,所以如果答案是“实现它Rcpp
”,我会勉强接受,但我会有点惊讶——在一对上计算已经非常快了在 R。
我尝试过但无法正常工作的方法:dplyr
using rowwise/do/lag
、zoo
using rollapply
(这是我用来生成分布的方法)和data.table
循环填充 a (编辑:这个有效,但仍然很慢)。
r - 滚动申请R中的部分时间序列
给定
我希望能够汇总到以下内容:
我使用 rollapply 尝试了以下操作,但无济于事:
任何帮助将不胜感激。第二个看起来最有希望,但我必须定制一个滞后?
r - 在过去 365 天窗口中执行运行总计的有效方法
这是我的数据框的样子:
库(数据表)
最后一列是我想要的列,它是过去 365 天滚动窗口中 SalesAmount(每个名称)的累积总和,我在 @6pool 的帮助下执行了此操作。他的解决方案是:
但是,df$RunningTotal365 <- f(1:nrow(df)) 需要很长时间(到目前为止超过 1.5 天),因为我的数据框超过 150 万行。在我最初的问题中,有人建议我“rollapply”,但我一直在努力弄清楚如何在这种情况下使用它。请帮忙。
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 年前每天的平均值?
谢谢
r - 对此错误一无所知:“by”参数中的错误登录
我有以下数据集:
当我运行代码时:
我收到错误:
但是通过此代码按 team1 分组就可以正常工作:
很不知道为什么会这样。任何帮助表示赞赏。
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?
r - rollapply 中的对齐和偏移
我正在尝试计算移动窗口的一些统计数据,并在 zoo 包中使用 rollapply。我的问题是如何让 rollapply 将该函数应用于之前的 n 个观察而不是当前的观察和之前的 n-1 个观察,因为 align right 似乎是这样做的。
我有一个预感,这是由 ?rollapply 回答的“如果宽度是一个普通的数字向量,它的元素被认为是宽度与对齐一起解释,而如果宽度是一个列表,它的组件被认为是偏移量。在上述情况下,如果宽度的长度为 1 则宽度为每个点循环使用. 如果宽度是一个列表,它的组件表示整数偏移量,因此列表的第 i 个组件指的是位置 i + width[[i]] 的时间点。” 但我不知道这对 R 代码意味着什么,没有提供示例。
r - 具有固定起点的滚动窗口 adfTest
所以我想在循环中运行adfTest
with lag=0
and 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)
了,随后的数据是我得到的结果和我想要的结果。
请注意,我想在循环中执行此操作,因为我希望每次完成循环时宽度都会增加,直到窗口是整个数据集的大小。