Computes a diffusion index using one of three common methodologies:
Usage
create_diffusion_index(
pct_increased = NULL,
pct_decreased = NULL,
pct_unchanged = NULL,
pct_change = NULL,
idx_type = c("Federal Reserve", "IHS-PMI", "Conference Board")
)
Arguments
- pct_increased
Numeric scalar or vector in [0, 1]: percent increased.
- pct_decreased
Numeric scalar or vector in [0, 1]: percent decreased.
- pct_unchanged
Numeric scalar or vector in [0, 1]: percent unchanged.
- pct_change
Numeric scalar or vector (finite real; may be < 0 or > 1): used only for
"Conference Board"
.- idx_type
One of
"Federal Reserve"
(default),"IHS-PMI"
, or"Conference Board"
.
Value
For
"Federal Reserve"
and"IHS-PMI"
: a numeric vector the same length as the recycled inputs.For
"Conference Board"
: a single numeric scalar (the encoded mean * 100).
Details
"Federal Reserve"
: \((pct\_increased - pct\_decreased) * 100\)"IHS-PMI"
: \((pct\_increased + 0.5 * pct\_unchanged) * 100\)"Conference Board"
: encode each element ofpct_change
as 1 (up), 0.5 (unchanged), or 0 (down) using a small threshold (default 0.05%), then return \(100 \times \mathrm{mean}(\text{encoded}, na.rm=TRUE)\).