Я бы предложил сделать это аккуратно. (; Сначала соберите все столбцы года, как показано ниже:
df <- dplyr::tibble(
x = runif(10),
y = runif(10),
"2017" = runif(10),
"2018" = runif(10),
"2019" = runif(10)
)
df <- df %>%
gather(year, value, "2017":"2019")
Затем выполните фильтрацию по start_year
start_year <- 2018
df %>%
filter(year >= start_year)
или замените значения для всех остальных лет нулями в качестве кода предлагает:
df %>%
mutate(value = ifelse(year >= start_year, value, 0))