I have a data frame similar to this
mydf = data_frame(letter = rep(c("a", "b", "c"), each =5),
var1 = sample(1:25, 15, replace = TRUE))
# A tibble: 15 x 2
letter var1
<chr> <int>
1 a 16
2 a 9
3 a 5
4 a 14
5 a 6
6 b 13
7 b 9
8 b 20
9 b 18
10 b 4
11 c 18
12 c 11
13 c 9
14 c 1
15 c 12
I know I can get the immediate value from the previous row with dplyr::lag()
. However, I am trying to obtain a similar solution to obtain the third value before each observation. The expected result should look like this:
# A tibble: 15 x 3
# Groups: letter [3]
letter var1 var2
<chr> <int> <dbl>
1 a 16 NA
2 a 9 NA
3 a 5 16
4 a 14 9
5 a 6 5
6 b 13 NA
7 b 9 NA
8 b 20 13
Thanks in advance