Generic function for replacing each NA
with aggregated
values. This allows imputing by the overall mean, by monthly means,
etc.
na.aggregate(object, …)
# S3 method for default
na.aggregate(object, by = 1, …, FUN = mean,
na.rm = FALSE, maxgap = Inf)
an object.
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.
function to apply to the non-missing values in each group
defined by by
.
logical. Should any remaining NA
s be removed?
maximum number of consecutive NA
s to
fill. Any longer gaps will be left unchanged.
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.
# NOT RUN {
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 DataLab