given NA values fill them with the final non-na value
fill_forward(x)
x | A numeric vector of values |
---|
Works very well in context of dplyr to carry out last-observation-carried-foward for different individuals. It will NOT replace leading NA's
fill_forward(c(1.0, NA, 2))#> [1] 1 1 2fill_forward(c(NA, 1, NA, 2))#> [1] NA 1 1 2library(dplyr) df <- data_frame(id = c(1, 1, 2, 2), obs = c(1.2, 4.8, 2.5, NA)) df %>% group_by(id) %>% mutate(obs_locf = fill_forward(obs))#> # A tibble: 4 x 3 #> # Groups: id [2] #> id obs obs_locf #> <dbl> <dbl> <dbl> #> 1 1 1.2 1.2 #> 2 1 4.8 4.8 #> 3 2 2.5 2.5 #> 4 2 NA 2.5