View source: R/AutoHierarchies.R
| AutoHierarchies | R Documentation | 
Automatic convert list of hierarchies coded in different ways to standardized to-from coding
AutoHierarchies(
  hierarchies,
  data = NULL,
  total = "Total",
  hierarchyVarNames = c(mapsFrom = "mapsFrom", mapsTo = "mapsTo", sign = "sign", level =
    "level"),
  combineHierarchies = TRUE,
  unionComplement = FALSE,
  autoLevel = TRUE,
  autoNames = c(to = "from", parentCode = "code", parent = "child", root = "leaf"),
  ...
)
| hierarchies | List of hierarchies | 
| data | Matrix or data frame with data containing codes of relevant variables | 
| total | Within  | 
| hierarchyVarNames | Variable names in the hierarchy tables as in  
 | 
| combineHierarchies | Whether to combine several hierarchies for same variable into a single hierarchy (see examples). | 
| unionComplement | Logical vector as in  | 
| autoLevel | When TRUE (default), the level is computed automatically, ignoring the input level variable.
This parameter is passed to  | 
| autoNames | Named character vector of 'from-to' variable names to be automatically recognized.
These names do not need to be specified in  | 
| ... | Extra unused parameters | 
Input can be to-from coded hierarchies, hierarchies/dimList as in sdcTable, TauArgus coded hierarchies or formulas.
Automatic coding from data is also supported. Output is on a from ready for input to HierarchyCompute.
A single string as hierarchy input is assumed to be a total code.
Then, the hierarchy is created as a simple hierarchy where all codes in data sum up to this total.
For consistence with HierarchyCompute,
the codes "rowFactor" and "colFactor" are unchanged.
An empty string is recoded to  "rowFactor".
A special possibility is to include character vector(s) as unnamed list element(s) of hierarchies.
Then the elements of the character vector(s) must be variable names within data.
This will cause hierarchies to be created from selected data columns by running FindDimLists.
Total coded can be specified by parameter total or by naming the character vector. See examples.
List of hierarchies
Øyvind Langsrud
FindHierarchies, DimList2Hierarchy, DimList2Hrc,
Hierarchy2Formula, DummyHierarchies.
# First, create different types of input
z <- SSBtoolsData("sprt_emp_withEU")
yearFormula <- c("y_14 = 2014", "y_15_16 = y_all - y_14", "y_all = 2014 + 2015 + 2016")
yearHier <- Formula2Hierarchy(yearFormula)
geoDimList <- FindDimLists(z[, c("geo", "eu")], total = "Europe")[[1]]
geoDimList2 <- FindDimLists(z[, c("geo", "eu")])[[1]]
geoHrc <- DimList2Hrc(geoDimList)
ageHier <- SSBtoolsData("sprt_emp_ageHier")
h1 <- AutoHierarchies(list(age = ageHier, geo = geoDimList, year = yearFormula))
h2 <- AutoHierarchies(list(age = "Y15-64", geo = geoHrc, year = yearHier), data = z, 
                      total = "Europe")
h3 <- AutoHierarchies(list(age = "Total", geo = geoDimList2, year = "Total"), data = z)
h4 <- FindHierarchies(z[, c(1, 2, 3, 5)])
h5 <- AutoHierarchies(list(age = "Total", geo = "", year = "colFactor"), data = z)
identical(h1, h2)
identical(h3, h4)
# Print the resulting hierarchies
h1 # = h2
h3 # = h4
h5
FindHierarchies(z[, c("geo", "eu", "age")])
# ===================================================================== 
#   Examples illustrating the combineHierarchies parameter
# =====================================================================
# First, create data
d <- SSBtoolsData("d2ws")[1:3]
d$isCounty1 <- "NO"
d$isCounty1[d$county == "county-1"] <- "YES"
d
# sdcTable coding showing two tree-shaped hierarchies
dimList <- FindDimLists(d)
dimList
# Two tree-shaped hierarchies can still be seen 
# Hierarchies with three and two levels
hA <- AutoHierarchies(dimList, combineHierarchies = FALSE)
hA
# A single hierarchy with only one level 
# Contains the information needed to create a dummy matrix
hB <- AutoHierarchies(dimList)
hB
# Dummy matrices from the hierarchies
DummyHierarchies(hA)
DummyHierarchies(hB)
# ===================================================================== 
#   Special examples with character vector(s) as unnamed list elements
# =====================================================================
# Same output as FindHierarchies above
AutoHierarchies(list(c("geo", "eu", "age")), data = z)
# Now combined with a named list element 
AutoHierarchies(list(year = yearHier, c("geo", "eu", "age")), data = z)
# Total codes by unnamed list element as named character vector 
AutoHierarchies(list(year = yearHier, c(Europe = "geo", "eu", All = "age")), data = z)
# Two types of year input. Total codes by using the parameter `total`. 
AutoHierarchies(list("year", year = yearHier, c("geo", "eu", "age")), data = z, 
                total = c("allYears", "unused", "Tot"))
# Avoid combineHierarchies to see effect of each year input separately 
# (even earlier return possible with `combineHierarchies = NA`)
AutoHierarchies(list("year", year = yearHier, c("geo", "eu", "age")), data = z, 
                total = c("allYears", "unused", "Tot"), combineHierarchies = FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.