## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set(collapse = TRUE, comment = "#>") ## ----setup-------------------------------------------------------------------- library(nestedscales) ## ----build-------------------------------------------------------------------- industries <- data.frame( section = c("C", "C", "C", "D", "D"), division = c("C10", "C10", "C11", "D35", "D35"), class = c("C101", "C102", "C110", "D351", "D352"), gva = c(120, 80, 45, 300, 150) ) ind <- scale_from_leaftable( industries, frames = c("section", "division", "class"), name = "nace" ) ind ## ----accessors---------------------------------------------------------------- scale_frames(ind) scale_units(ind, "division") scale_key(ind) scale_weights(ind) ## ----structure---------------------------------------------------------------- scale_nests(ind, "section", "division") scale_family(ind, "section", "division") ## ----recast-up---------------------------------------------------------------- x <- data.frame( class = c("C101", "C102", "C110", "D351", "D352"), jobs = c(12, 8, 5, 30, 20), wage = c(31, 29, 27, 45, 40) ) recast_scale(x, ind, source = "class", target = "section", rule = c(jobs = "sum", wage = "weighted_mean") ) ## ----recast-down-------------------------------------------------------------- y <- data.frame(section = c("C", "D"), investment = c(100, 400)) recast_scale(y, ind, source = "section", target = "class", rule = "sum") ## ----join--------------------------------------------------------------------- join_scale(x, ind, frame = "class", attach = TRUE) ## ----subset------------------------------------------------------------------- manufacturing <- filter_scale(ind, "section", "C") scale_units(manufacturing) scale_coverage(manufacturing) scale_frames(prune_scale(ind, "division")) ## ----attributes--------------------------------------------------------------- carriers <- read_scale("carriers") lhv <- scale_attributes(carriers, "lhv", frame = "fuel") head(lhv[!is.na(lhv$value), c("unit", "value", "unit_of_measure")]) fuel_use <- data.frame(fuel = c("Lignite", "NaturalGas"), t = c(1000, 1000)) convert_scale(fuel_use, carriers, "lhv", from_unit = "t", to_unit = "GJ") scale_match(carriers, c("GAS", "lignite", "Hydrogen")) ## ----definition--------------------------------------------------------------- path <- file.path(tempdir(), "nace.json") write_scale(ind, path) scale_frames(read_scale(path)) scale_catalog()[c("id", "name", "frames", "n_atoms", "package")] ## ----definition-cleanup, include = FALSE-------------------------------------- unlink(path) ## ----product------------------------------------------------------------------ p <- scale_product(a = scale_example(), b = scale_example2()) product_size(p)