Вычисление скользящего среднего значения

Похоже, ваши аннотации не в том месте.

Почему в Library есть ManagedReference для книг, а вы предотвращаете рекурсию между Author и Book?

Вероятно, так и должно быть:

[110 ]

Более того, определенно существует неправильная модель, согласно которой Author имеет отношение один к одному с книгой. Логически Author может владеть многими books.

175
задан Gregor 13 December 2017 в 20:24
поделиться

2 ответа

  • Скользящие средние / максимумы / медианы в пакете zoo (rollmean)
  • Скользящие средние в TTR
  • мА в прогнозе
131
ответ дан Frank 23 November 2019 в 20:26
поделиться

Можно использовать runner пакет для перемещения функций. В этом случае mean_run функция. Проблема с cummean состоит в том, что это не обрабатывает NA, значения, но mean_run делает:

library(runner)
set.seed(11)
x1 <- rnorm(15)
x2 <- sample(c(rep(NA,5), rnorm(15)), 15, replace = TRUE)

mean_run(x1)
#>  [1] -0.5910311 -0.2822184 -0.6936633 -0.8609108 -0.4530308 -0.5332176
#>  [7] -0.2679571 -0.1563477 -0.1440561 -0.2300625 -0.2844599 -0.2897842
#> [13] -0.3858234 -0.3765192 -0.4280809

mean_run(x2, na_rm = TRUE)
#>  [1] -0.18760011 -0.09022066 -0.06543317  0.03906450 -0.12188853 -0.13873536
#>  [7] -0.13873536 -0.14571604 -0.12596067 -0.11116961 -0.09881996 -0.08871569
#> [13] -0.05194292 -0.04699909 -0.05704202

mean_run(x2, na_rm = FALSE )
#>  [1] -0.18760011 -0.09022066 -0.06543317  0.03906450 -0.12188853 -0.13873536
#>  [7]          NA          NA          NA          NA          NA          NA
#> [13]          NA          NA          NA

mean_run(x2, na_rm = TRUE, k = 4)
#>  [1] -0.18760011 -0.09022066 -0.06543317  0.03906450 -0.10546063 -0.16299272
#>  [7] -0.21203756 -0.39209010 -0.13274756 -0.05603811 -0.03894684  0.01103493
#> [13]  0.09609256  0.09738460  0.04740283

можно также определить другие опции как k длина окна, lag, и прокрутиться в окне даты. Больше в пакет и функция документация.

1
ответ дан 23 November 2019 в 20:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: