Skip to contents

Select variables based on categories, classifications, measures and gasses using ids (ccmug). Variable selection is based on the intersection of supplied ids (union = FALSE) or union (only select variables where all supplied ccmug's are present). If no ids are supplied, all variables are returned.

Usage

select_varid(
  vars,
  category_id = NULL,
  classification_id = NULL,
  measure_id = NULL,
  gas_id = NULL,
  unit_id = NULL,
  union = TRUE
)

Arguments

vars

data.frame of variable ids with corresponding cat/class/meas/gas ids.

category_id

numeric,

classification_id

numeric,

measure_id

numeric,

gas_id

numeric,

unit_id

numeric, ids from rem_init() $categories, $classification, $measures, $gas, $units.

union

logical, for TRUE only return variables where all supplied ccmug's are represented, for FALSE return every variable where any of the ccmug's is present.

Value

data.frame with same dims as vars if no ids are supplied, or with rows resulting from union/intersection of ids, and columns of vars

Examples

# \donttest{

rem <- rem_init()
#> parsing api/parties/
#> parsing api/years/single
#> parsing api/dimension-instances/category
#> parsing api/dimension-instances/classification
#> parsing api/dimension-instances/measure
#> parsing api/dimension-instances/gas
#> parsing api/conversion/fq
#> parsing api/variables/fq/annexOne
#> parsing api/variables/fq/nonAnnexOne

category_mask <- grepl('1.A.3.b.i  Cars', rem$categories$annexOne$name)
category <- rem$categories$annexOne[category_mask, ]

variables <- select_varid(
  vars = rem$variables$annexOne,
  category_id = category$id)
head(variables, 20)
#>      variableId categoryId classificationId measureId gasId unitId
#> 2674      17578       9279            10510     10460 10468      5
#> 2690     924766       9279            10525     10460 10468      5
#> 2702     926287       9279            10520     10460 10469      5
#> 2704     925785       9279            10530     10460 10471      5
#> 4140     928580       9279            10513     10591 10469     28
#> 4141     928626       9279            10524     10591 10469     28
#> 4144     928524       9279            10520     10591 10469     28
#> 4145     928586       9279            10525     10591 10469     28
#> 4154     928544       9279            10528     10591 10469     28
#> 4512     927247       9279            10510     10578 10637      7
#> 4513     927097       9279            10542     10578 10637      7
#> 4514     927130       9279            10530     10578 10637      7
#> 4706     924906       9279            10538     10460 10471      5
#> 4719     926628       9279            10525     10460 10469      5
#> 4734     926278       9279            10528     10460 10468      5
#> 4746      94409       9279            10510     10460 10471      5
#> 4758     925496       9279            10513     10460 10468      5
#> 4962     927199       9279            10538     10578 10637      7
#> 4976     927111       9279            10528     10578 10637      7
#> 5319     925453       9279            10524     10460 10469      5

# }