Changelog
Source:NEWS.md
OECDscaleup 0.1.0
Initial release: a behaviour-preserving translation of the OECD Scale Up project’s “Second Package” Stata pipeline (MASTER_OECD_p2.do and its 5 worker .do files, version 1.0, scaleup@oecd.org) into R.
What this release contains
-
config_scaleup()— replaces the Stata global macros set inMASTER_OECD_p2.do. -
build_accounts_indicators()— translatesn0_1_accounts_indicators_v2.do. -
compute_characteristics()— translatesn1_3_characteristics.do. -
compute_persistence()— translatesn1_3_persistence.do(transitions + evolutions). -
compute_contribution()— translatesn1_3_contribution.do. -
compute_predictors()— translatesn1_3_predictors.do. -
run_scaleup_pipeline()— file-I/O orchestrator mirroringMASTER_OECD_p2.do’s role; every function above it is a pure, independently-testable data transformation. - Bundled reference data
tl3_typologyandexchange_rates, carried over as-is from the OECD-supplied.dtafiles. - A documented
country_patcheslookup table replacing the 3 hardcoded country-list branches in the originaln0_1_accounts_indicators_v2.do.
Translation notes
- Ported from
Pseudocode/*.md(a structure-preserving intermediate representation of the original Stata source), not directly from the.dofiles — see that directory for the line-by-line correspondence. - Several Stata/R semantic gaps were identified and deliberately corrected for, each with a dedicated regression test: Stata’s non-propagating missing-value comparisons (
stata_num()),replace ... ifsemantics under an unresolved condition (stata_replace()), Stata’s round-half-away- from-zero convention (round_half_up()), and Stata’s percentile algorithm (percentile_stata(), confirmed equivalent to R’squantile(type = 2)). - The original has no automated test suite; the one existing behavioural spec (the confidentiality worked example in the source PDF, §4) informed this package’s dominance-share tests. Everything else is covered by new unit and integration tests built from synthetic fixtures, since the real firm microdata this pipeline processes is confidential and never ships with the package (see
Analysis/stata.mdandvariable_dictionary_v1.xlsxfor the input schema fixtures are built against). - No
.dlgdialog files exist in the source package, so no Shiny GUI was built (there was nothing to recreate). - Known residual approximations, not exact-match verified against a live Stata run:
statar::xtile()’s tie-breaking at quartile boundaries, andfixest’s robust-standard-error small-sample adjustment. Both are flagged in the relevant function’s documentation.