Skip to contents

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 of pct_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)\).