One option is to create a sequence for each row, stored as a list, and then unnest it:
library(dplyr)
library(tidyr)
tribble(
~"Año inicio", ~"Año final", ~"Resultado",
2000, 2001, 4,
2002, 2005, 2,
) %>%
rowwise() %>%
mutate(`Año` = list(seq(`Año inicio`, `Año final`)), .before = "Resultado") %>%
ungroup() %>%
unnest(`Año`)
#> # A tibble: 6 × 4
#> `Año inicio` `Año final` Año Resultado
#> <dbl> <dbl> <int> <dbl>
#> 1 2000 2001 2000 4
#> 2 2000 2001 2001 4
#> 3 2002 2005 2002 2
#> 4 2002 2005 2003 2
#> 5 2002 2005 2004 2
#> 6 2002 2005 2005 2
Created on 2023-05-09 with reprex v2.0.2