Cmatrix | R Documentation |
This function allows the user to easily build the (\mjseqnn_a \times n_b) cross-sectional (contemporaneous) matrix mapping the \mjseqnn_b bottom level series into the \mjseqnn_a higher level ones. (Experimental version)
Cmatrix(formula, data, sep = "_", sparse = TRUE, top_label = "Total")
formula |
Specification of the hierarchical structure: grouped hierarchies are specified
using |
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 matrix (default is |
top_label |
Label of the top level variable (default is |
A (na x nb
) matrix.
Other utilities:
FoReco2ts()
,
agg_ts()
,
arrange_hres()
,
commat()
,
ctf_tools()
,
hts_tools()
,
lcmat()
,
oct_bounds()
,
residuals_matrix()
,
score_index()
,
shrink_estim()
,
thf_tools()
## Balanced hierarchy
# T
# |--------|
# A B
# |---| |--|--|
# AA AB BA BB BC
# Names of the bottom level variables
data_bts <- data.frame(X1 = c("A", "A", "B", "B", "B"),
X2 = c("A", "B", "A", "B", "C"),
stringsAsFactors = FALSE)
# Cross-sectional aggregation matrix
C <- Cmatrix(~ X1 / X2, data_bts, sep = "")
## Unbalanced hierarchy (1)
# T
# |--------|------|
# A B C
# |---| |--|--|
# AA AB BA BB BC
# Names of the bottom level variables
data_bts <- data.frame(X1 = c("A", "A", "B", "B", "B", "C"),
X2 = c("A", "B", "A", "B", "C", NA),
stringsAsFactors = FALSE)
# Cross-sectional aggregation matrix
C <- Cmatrix(~ X1 / X2, data_bts, sep = "")
## Unbalanced hierarchy (2)
# T
# |---------|---------|
# A B C
# |---| |---| |---|
# AA AB BA BB CA CB
# |----| |----|
# AAA AAB BBA BBB
# Names of the bottom level variables
data_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 matrix
C <- Cmatrix(~ X1 / X2 / X3, data_bts, sep = "")
## Grouped hierarchy
# C S
# |--------| |--------|
# A B M F
# |---| |---|
# AA AB BA BB
# Names of the bottom level variables
data_bts <- data.frame(X1 = c("A", "A", "B", "B", "A", "A", "B", "B"),
X2 = c("A", "B", "A", "B", "A", "B", "A", "B"),
Y1 = c("M", "M", "M", "M", "F", "F", "F", "F"),
stringsAsFactors = FALSE)
# Cross-sectional aggregation matrix
C <- Cmatrix(~ Y1 * (X1 / X2), data_bts, sep = "")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.