lag
library(dplyr)
df1 %>%
arrange(id, Year) %>% # in case not ordered by 'year'
group_by(id) %>%
mutate(lagA = lag(A))
# A tibble: 7 x 4
# Groups: id [3]
# id Year A lagA
# <int> <int> <int> <int>
#1 1 1 5 NA
#2 1 2 6 5
#3 2 1 11 NA
#4 2 2 12 11
#5 2 3 13 12
#6 3 2 1 NA
#7 3 3 3 1