Fills missing values in using the previous entry. This is useful in the common output format where values are not repeated, they're recorded each time they change.

fill(data, ..., .direction = c("down", "up"))

Arguments

data

A data frame.

...

Specification of columns to expand.

To find all unique combinations of x, y and z, including those not found in the data, supply each variable as a separate argument. To find only the combinations that occur in the data, use nest: expand(df, nesting(x, y, z)).

You can combine the two forms. For example, expand(df, nesting(school_id, student_id), date) would produce a row for every student for each date.

For factors, the full set of levels (not just those that appear in the data) are used. For continuous variables, you may need to fill in values that don't appear in the data: to do so use expressions like year = 2010:2020 or year = full_seq(year,1).

Length-zero (empty) elements are automatically dropped.

.direction

Direction in which to fill missing values. Currently either "down" (the default) or "up".

Details

Missing values are replaced in atomic vectors; NULLs are replaced in list.

Examples

df <- data.frame(Month = 1:12, Year = c(2000, rep(NA, 11))) df %>% fill(Year)
#> Month Year #> 1 1 2000 #> 2 2 2000 #> 3 3 2000 #> 4 4 2000 #> 5 5 2000 #> 6 6 2000 #> 7 7 2000 #> 8 8 2000 #> 9 9 2000 #> 10 10 2000 #> 11 11 2000 #> 12 12 2000