mean.piar_index {piar}R Documentation

Aggregate a price index over subperiods

Description

Aggregate an index over subperiods by taking the (usually arithmetic) mean of index values over consecutive windows of subperiods.

Usage

## S3 method for class 'piar_index'
mean(x, weights = NULL, ..., window = 3L, na.rm = FALSE, contrib = TRUE, r = 1)

Arguments

x

A price index, as made by, e.g., elemental_index().

weights

A numeric vector of weights for the index values in x, or something that can be coerced into one. The default is equal weights. It is usually easiest to specify these weights as a matrix with a row for each index value in x and a column for each time period.

...

Not currently used.

window

A positive integer giving the size of the window used to average index values across subperiods. The default (3) turns a monthly index into into a quarterly one. Non-integers are truncated towards 0.

na.rm

Should missing values be removed? By default, missing values are not removed. Setting na.rm = TRUE is equivalent to overall mean imputation.

contrib

Aggregate percent-change contributions in x (if any)?

r

Order of the generalized mean to aggregate index values. 0 for a geometric index (the default for making elemental indexes), 1 for an arithmetic index (the default for aggregating elemental indexes and averaging indexes over subperiods), or -1 for a harmonic index (usually for a Paasche index). Other values are possible; see gpindex::generalized_mean() for details.

Details

The mean() method constructs a set of non-overlapping windows of length window, starting in the first period of the index, and takes the mean of each index value in these windows for each level of the index. The last window is discarded if it is incomplete (with a warning), so that index values are always averaged over window periods. The names for the first time period in each window form the new names for the aggregated time periods.

Percent-change contributions are aggregated if contrib = TRUE by treating each product-subperiod pair as a unique product, then following the same approach as aggregate(). The number of the subperiod is appended to product names to make them unique across subperiods.

An optional vector of weights can be specified when aggregating index values over subperiods, which is often useful when aggregating a Paasche index; see section 4.3 of Balk (2008) for details.

Value

A price index with the same class as x. If x is an aggregate index and r is different than that used to aggregate x, then the result is not an aggregate index (as it is no longer consistent in aggregation).

References

Balk, B. M. (2008). Price and Quantity Index Numbers. Cambridge University Press.

See Also

Other index methods: [.piar_index(), aggregate.piar_index(), as.data.frame.piar_index(), chain(), contrib(), head.piar_index(), is.na.piar_index(), levels.piar_index(), merge.piar_index(), split.piar_index(), stack.piar_index(), time.piar_index(), vcov.aggregate_piar_index()

Examples

index <- as_index(matrix(c(1:12, 12:1), 2, byrow = TRUE))

mean(index)


[Package piar version 0.7.0 Index]