zoo (version 1.7-13)

na.aggregate: Replace NA by Aggregation

Description

Generic function for replacing each NA with aggregated values. This allows imputing by the overall mean, by monthly means, etc.

Usage

na.aggregate(object, ...) "na.aggregate"(object, by = 1, ..., FUN = mean, na.rm = FALSE, maxgap = Inf)

Arguments

object
an object.
by
a grouping variable corresponding to object, or a function to be applied to time(object) to generate the groups.
...
further arguments passed to by if by is a function.
FUN
function to apply to the non-missing values in each group defined by by.
na.rm
logical. Should any remaining NAs be removed?
maxgap
maximum number of consecutive NAs to fill. Any longer gaps will be left unchanged.

Value

An object in which each NA in the input object is replaced by the mean (or other function) of its group, defined by by. This is done for each series in a multi-column object. Common choices for the aggregation group are a year, a month, all calendar months, etc.If a group has no non-missing values, the default aggregation function mean will return NaN. Specify na.rm = TRUE to omit such remaining missing values.

See Also

zoo

Examples

Run this code
z <- zoo(c(1, NA, 3:9),
         c(as.Date("2010-01-01") + 0:2,
           as.Date("2010-02-01") + 0:2,
           as.Date("2011-01-01") + 0:2))
## overall mean
na.aggregate(z)
## group by months
na.aggregate(z, as.yearmon)
## group by calendar months
na.aggregate(z, months)
## group by years
na.aggregate(z, format, "%Y")

Run the code above in your browser using DataCamp Workspace