R: Complete a data frame with missing combinations of data.
complete
R Documentation
Complete a data frame with missing combinations of data.
Description
Turns implicit missing values into explicit missing values.
This is a wrapper around expand(),
left_join() and replace_na that's
useful for completing missing combinations of data.
Usage
complete(data, ..., fill = list())
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.
To fill in values that are missing altogether, use expressions like
year = 2010:2020 or year = full_seq(year).
fill
A named list that for each variable supplies a single value to
use instead of NA for missing combinations.
Details
If you supply fill, these values will also replace existing
explicit missing values in the data set.
See Also
complete_ for a version that uses regular evaluation
and is suitable for programming with.
Examples
library(dplyr)
df <- data_frame(
group = c(1:2, 1),
item_id = c(1:2, 2),
item_name = c("a", "b", "b"),
value1 = 1:3,
value2 = 4:6
)
df %>% complete(group, nesting(item_id, item_name))
# You can also choose to fill in missing values
df %>% complete(group, nesting(item_id, item_name), fill = list(value1 = 0))