This works in almost exactly the same way as Denominate.coin()
. The only point of care is that the
denoms
argument here cannot take time-indexed data, but only a single value for each unit. It is
therefore recommended to pass the time-dependent denominator data as part of iData
when calling
new_coin()
. In this way, denominators can vary with time. See vignette("denomination")
.
# S3 method for purse
Denominate(
x,
dset,
denoms = NULL,
denomby = NULL,
denoms_ID = NULL,
f_denom = NULL,
write_to = NULL,
...
)
An updated purse
A purse class object
The name of the data set to apply the function to, which should be accessible in .$Data
.
An optional data frame of denominator data. Columns should be denominator data, with column names corresponding
to entries in denomby
. This must also include an ID column identified by denoms_ID
to match rows. If denoms
is not specified, will extract any potential denominator columns that were attached to iData
when calling new_coin()
.
Optional data frame which specifies which denominators to use for each indicator, and any scaling factors
to apply. Should have columns iCode
, Denominator
, ScaleFactor
. iCode
specifies an indicator code found in dset
,
Denominator
specifies a column name from denoms
to use to denominate the corresponding column from x
.
ScaleFactor
allows the possibility to scale
denominators if needed, and specifies a factor to multiply the resulting values by. For example, if GDP is a denominator and is measured in
dollars, dividing will create very small numbers (order 1e-10 and smaller) which could cause problems with numerical precision. If denomby
is not specified, specifications will be taken from the "Denominator" column in iMeta
, if it exists.
An ID column for matching denoms
with the data to be denominated. This column should contain
uMeta codes to match with the data set extracted from the coin.
A function which takes two numeric vector arguments and is used to perform the denomination for each
column. By default, this is division, i.e. x[[col]]/denoms[[col]]
for given columns, but any function can be passed
that takes two numeric vectors as inputs and returns a single numeric vector. See details.
If specified, writes the aggregated data to .$Data[[write_to]]
. Default write_to = "Denominated"
.
arguments passed to or from other methods.
# build example purse
purse <- build_example_purse(up_to = "new_coin", quietly = TRUE)
# denominate using data/specs already included in coin
purse <- Denominate(purse, dset = "Raw")
Run the code above in your browser using DataLab