Похоже, ваши аннотации не в том месте.
Почему в Library
есть ManagedReference
для книг, а вы предотвращаете рекурсию между Author
и Book
?
Вероятно, так и должно быть:
[110 ] Более того, определенно существует неправильная модель, согласно которой Author
имеет отношение один к одному с книгой. Логически Author
может владеть многими books
.
Можно использовать 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
, и прокрутиться в окне даты. Больше в пакет и функция документация.