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, forFALSE
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
# }