That's pretty much the only thing I changed, so I'm not sure what else it would be. My code seems to be working in my machine so I'm not sure what else what guidance I can provide.
So usually when you load tidyverse its usually masks the stats::filter() function in favor of dplyr::filter(). For some reason it must not be performing that masking and giving you dplyr by default.
In my code, I only ever explicitly load tibble, not the entire tidyverse, as you did in your original code. Maybe the behavior would be different if you loaded the entire tidyverse.
I hit the heart button. I haven't hit the Solution button because I still don't understand why loading tidyverse...which says it loads dplyr...isn't enough.
the following objects are masked from 'package:stats':
filter, lag
As you've pointed out - this is the expected tidyverse behavior to prevent the stats::filter() from interfering with dplyr.
However, when I just load tibble (as you did in your original sample) with base::library(package = tibble)
No messages are given and if I do ?filter it pulls up the stats::filter() function. That's all because I loaded tibble instead of tidyverse. Put simply, loading tibble like you did in your example is not loading the entire tidyverse, it's just loading tibble.
No problem! It's an odd trait of some tidyverse packages that they load parts of other tidyverse packages without loading the whole thing so easy mistake to make.