vector <- round(rnorm(100, mean = 0.5, sd = 0.2), 0)
n <- 3
library(tidyverse)
(exdf <- enframe(vector))
# https://gist.github.com/brshallo/cadaa40cef6387e28924b6c3756627c9
lag_multiple <- function(x, n_vec){
map(n_vec, ~lag(x=x,n=.,default=0)) %>%
set_names(paste0("lag", n_vec)) %>%
as_tibble()
}
(exdf2 <- mutate(exdf,
lag_multiple(value,seq_len(n)-1)))
(exdf3 <- mutate(rowwise(exdf2),
s=sum(c_across(starts_with("lag")))) %>% ungroup())
(exdf4 <- mutate(exdf3,
value_2 = ifelse(s==n,1,0)) %>% select(starts_with("value")))
print(exdf4,n=100)