harvest <- tsibble(
year = c(2010, 2011, 2013, 2011, 2012, 2014),
fruit = rep(c("kiwi", "cherry"), each = 3),
kilo = sample(1:10, size = 6),
key = fruit, index = year
)
# gaps as default `NA`
fill_gaps(harvest, .full = TRUE)
fill_gaps(harvest, .full = start())
fill_gaps(harvest, .full = end())
fill_gaps(harvest, .start = 2009, .end = 2016)
full_harvest <- fill_gaps(harvest, .full = FALSE)
full_harvest
# replace gaps with a specific value
harvest %>%
fill_gaps(kilo = 0L)
# replace gaps using a function by variable
harvest %>%
fill_gaps(kilo = sum(kilo))
# replace gaps using a function for each group
harvest %>%
group_by_key() %>%
fill_gaps(kilo = sum(kilo))
# leaves existing `NA` untouched
harvest[2, 3] <- NA
harvest %>%
group_by_key() %>%
fill_gaps(kilo = sum(kilo, na.rm = TRUE))
# replace NA
pedestrian %>%
group_by_key() %>%
fill_gaps(Count = as.integer(median(Count)))
if (!requireNamespace("tidyr", quietly = TRUE)) {
stop("Please install the 'tidyr' package to run these following examples.")
}
# use fill() to fill `NA` by previous/next entry
pedestrian %>%
group_by_key() %>%
fill_gaps() %>%
tidyr::fill(Count, .direction = "down")
Run the code above in your browser using DataLab