`rollapply()`

defaults to a *centered* alignment. You want a *right* alignment. You can get that by specifying `align = "right"`

or by using `rollapplyr()`

, which they added because this was so common.

```
library(zoo, warn.conflicts = FALSE)
x <- 1:10
rollapply(x, width = 7, FUN = mean, fill = NA)
#> [1] NA NA NA 4 5 6 7 NA NA NA
rollapply(x, width = 7, FUN = mean, fill = NA, align = "right")
#> [1] NA NA NA NA NA NA 4 5 6 7
rollapplyr(x, width = 7, FUN = mean, fill = NA)
#> [1] NA NA NA NA NA NA 4 5 6 7
```

I would also encourage you to look at {slider} (I wrote it), which has a few more features than `rollapply()`

. For instance, you can roll rowwise over entire data frames, and return more complex objects, like the entire lm object. This way you don't have to *just* return the coefficient value if you are also interested in other components of the model.

Here is a 7 day rolling regression with slider, where we return the entire lm model. You set `.before = 6`

to indicate that you want the current value + 6 values before it, and you set `.complete = TRUE`

to indicate that you only want to compute the regression on complete windows (i.e. where you have 7 rows of data).

```
library(slider)
library(tibble, warn.conflicts = FALSE)
set.seed(123)
df <- tibble(
date = as.Date("2019-01-01") + 0:49,
outcome = rnorm(50),
value = rnorm(50)
)
df$models <- slide(
df,
~lm(outcome ~ value, data = .x),
.before = 6,
.complete = TRUE
)
df
#> # A tibble: 50 x 4
#> date outcome value models
#> <date> <dbl> <dbl> <list>
#> 1 2019-01-01 -0.560 0.253 <NULL>
#> 2 2019-01-02 -0.230 -0.0285 <NULL>
#> 3 2019-01-03 1.56 -0.0429 <NULL>
#> 4 2019-01-04 0.0705 1.37 <NULL>
#> 5 2019-01-05 0.129 -0.226 <NULL>
#> 6 2019-01-06 1.72 1.52 <NULL>
#> 7 2019-01-07 0.461 -1.55 <lm>
#> 8 2019-01-08 -1.27 0.585 <lm>
#> 9 2019-01-09 -0.687 0.124 <lm>
#> 10 2019-01-10 -0.446 0.216 <lm>
#> # … with 40 more rows
df$models[[7]]
#>
#> Call:
#> lm(formula = outcome ~ value, data = .x)
#>
#> Coefficients:
#> (Intercept) value
#> 0.4156 0.1816
```

^{Created on 2020-03-20 by the reprex package (v0.3.0)}