I have the following data frame (simplified) with the country variable as a factor and the value variable has missing values:
country value AUT NA AUT
The tidyverse way, albeit not using locf, is:
library(tidyverse) data %>% group_by(country) %>% fill(value) Source: local data frame [9 x 2] Groups: country [2] country value (fctr) (dbl) 1 AUT NA 2 AUT 5 3 AUT 5 4 AUT 5 5 GER NA 6 GER NA 7 GER 7 8 GER 7 9 GER 7