Skip to contents

Price update the weights in a price index aggregation structure.

Usage

# S3 method for class 'piar_aggregation_structure'
update(object, index, ..., period = NULL, order = 1, r = order)

Arguments

object

[piar_aggregation_structure] A price index aggregation structure, as made by aggregation_structure().

index

[piar_index] A fixed-base (direct) price index, or something that can be coerced into one. Usually an aggregate price index as made by aggregate().

...

Not currently used.

period

[character(1)] The time period used to price update the weights. The default uses the last period in index.

order

[numeric(1)] Order of the generalized mean to update the weights. The default is 1 for an arithmetic index.

r

Deprecated.

Value

A copy of object with price-updated weights using the index values in index.

Examples

# A simple aggregation structure.
#            1
#      |-----+-----|
#      11          12
#  |---+---|       |
#  111     112     121
#  (1)     (3)     (4)
aggregation_weights <- data.frame(
  level1 = c("1", "1", "1"),
  level2 = c("11", "11", "12"),
  ea     = c("111", "112", "121"),
  weight = c(1, 3, 4)
)

pias <- as_aggregation_structure(aggregation_weights)

index <- as_index(
  matrix(1:9, 3, dimnames = list(c("111", "112", "121"), NULL))
)

weights(pias, ea_only = FALSE)
#> $level1
#> 1 
#> 8 
#> 
#> $level2
#> 11 12 
#>  4  4 
#> 
#> $ea
#> 111 112 121 
#>   1   3   4 
#> 

weights(update(pias, index), ea_only = FALSE)
#> $level1
#>   1 
#> 916 
#> 
#> $level2
#>  11  12 
#> 268 648 
#> 
#> $ea
#> 111 112 121 
#>  28 240 648 
#>