formula: Specification of the hierarchical structure: grouped hierarchies are specified using ~ g1 * g2 and nested hierarchies are specified using ~ parent / child. Mixtures of the two formulations are also possible, like ~ g1 * (grandparent / parent / child).
data: A dataset in which each column contains the values of the variables in the formula and each row identifies a bottom level time series.
sep: Character to separate the names of the aggregated series, (default is "_").
sparse: Option to return sparse matrices (default is TRUE).
top_label: Label of the top level variable (default is "Total").
verbose: If TRUE (default), hierarchy informations are printed.
Returns
A (na x nb) matrix.
Examples
## Balanced hierarchy# T# |--------|# A B# |---| |--|--|# AA AB BA BB BC# Names of the bottom level variablesdata_bts <- data.frame(X1 = c("A","A","B","B","B"), X2 = c("A","B","A","B","C"), stringsAsFactors =FALSE)# Cross-sectional aggregation matrixagg_mat <- df2aggmat(~ X1 / X2, data_bts, sep ="", verbose =FALSE)## Unbalanced hierarchy# T# |---------|---------|# A B C# |---| |---| |---|# AA AB BA BB CA CB# |----| |----|# AAA AAB BBA BBB# Names of the bottom level variablesdata_bts <- data.frame(X1 = c("A","A","A","B","B","B","C","C"), X2 = c("A","A","B","A","B","B","A","B"), X3 = c("A","B",NA,NA,"A","B",NA,NA), stringsAsFactors =FALSE)# Cross-sectional aggregation matrixagg_mat <- df2aggmat(~ X1 / X2 / X3, data_bts, sep ="", verbose =FALSE)## Group of two hierarchies# T T T | A | B | C# |--|--| X |---| -> ---+----+----+----# A B C M F M | AM | BM | CM# F | AF | BF | CF# Names of the bottom level variablesdata_bts <- data.frame(X1 = c("A","A","B","B","C","C"), Y1 = c("M","F","M","F","M","F"), stringsAsFactors =FALSE)# Cross-sectional aggregation matrixagg_mat <- df2aggmat(~ Y1 * X1, data_bts, sep ="", verbose =FALSE)