given NA values fill them with the final non-na value

fill_forward(x)

Arguments

x

A numeric vector of values

Details

Works very well in context of dplyr to carry out last-observation-carried-foward for different individuals. It will NOT replace leading NA's

Examples

fill_forward(c(1.0, NA, 2))
#> [1] 1 1 2
fill_forward(c(NA, 1, NA, 2))
#> [1] NA 1 1 2
library(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