gpt4 book ai didi

R - ave rollapply 错误 : k <= n is not TRUE

转载 作者:行者123 更新时间:2023-12-02 15:34:58 25 4
gpt4 key购买 nike

我正在尝试计算 R 中按多个维度分组的值的滚动平均值。我会按以下方式在 SQL 中执行以下操作:

AVG(value) OVER 
(PARTITION BY dim1, dim2 ORDER BY date
RANGE BETWEEN 5 PRECEDING AND CURRENT ROW)

如果我只选择几个维度,以下似乎有效:

s <- ave(df$value, 
list(df$dim1, df$dim2),
FUN= function(x) rollapply(x, 5, mean, align='right'))

但当我选择全套尺寸时出现以下错误:

Error: k <= n is not TRUE 

运行时出现同样的错误:

rollapply(c(1:2), 3, mean, align='right')

所以我猜问题是某些维度组合没有足够的值来计算平均值。

我该如何克服它?我很乐意接受这些组合的结果为 NA。任何帮助将不胜感激..

最佳答案

默认情况下,RcppRoll 包中的

roll_meanr 会执行此操作:

library(RcppRoll)
> roll_meanr(c(1:2), 3)
# [1] NA NA

关于R - ave rollapply 错误 : k <= n is not TRUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22845739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com