Hello, I'm looking for some help with constructing lag variables on my dataset. I have data which is structured like the following
data.frame( id = c(1,1,1,2,2,2,3,3,3), Prestige = c(1,1,1,0,0,0,0,0,0), Y = c(5,6,7,4,3,5,2,6,7) )
What I am looking to do is create a lag variable which contains the Y value for the Prestige ID from the previous round. This is the desired output.
data.frame( id = c(1,1,1,2,2,2,3,3,3), Prestige = c(1,1,1,0,0,0,0,0,0), Round = c(1,2,3,1,2,3,1,2,3) , Y = c(5,6,7,4,3,5,2,6,7) , Prev_Prestige = c(NA,5,6,NA,5,6,NA,5,6) )
I have been trying to use the
lag function from tidyverse but I am unsure how to specify in
mutate that I want the Prev_Prestige column to be the same for every id and always be equal to the previous behaviour of the Prestige id. For example, is it possible to use
filter or something similar within mutate or make some use of
Also, the solution needs to be based on the Prestige column as I will have many cases of this within my data. IE many different id values will have Prestige = 1.