Owner cost-burden measures, tenure-labeled renter measures, codebook universe statements#100
Merged
Merged
Conversation
added 4 commits
July 4, 2026 23:09
…by tenure - tenure_by_housing_costs (B25106) gains owner 30-percent-or-more burden shares (all incomes, incomes below $35k, below $50k) and an all-tenures headline share. Denominators exclude households with no computable cost ratio (zero/negative income; renters paying no cash rent), which B25106 reports as standalone lines outside the cost bands. - New owner_cost_burden table (B25091, selected monthly owner costs as a percentage of household income) adds 30- and 50-percent-or-more burden shares by mortgage status plus a combined all-owners severe-burden share; not-computed households are excluded from denominators, matching the B25074 renter measures. - The six existing renter measures are renamed cost_burdened_* -> cost_burdened_renter_*, disambiguating them from the new owner measures. - make_pretty_names() learns the new tokens and the 10.0-19.9 cost bands.
New universe column carries the Census Bureau's published universe statement for each variable (e.g., "Households", "Population 25 years and over"). Raw variables resolve via a new session-cached load_acs_groups() fetch of the groups.json endpoint (keyless); derived variables inherit their first numerator's universe, with a second pass so complements inherit through their source variable; metadata fields read "Not applicable". The API publishes universes for 2020+ vintages (the field name carries a trailing space); earlier vintages yield NA.
wcurrangroome
added a commit
that referenced
this pull request
Jul 10, 2026
Sync the renv library and lockfile: Rcpp, bit64, openssl, and rlang move to current CRAN versions (exact pinned versions are no longer available as binaries and source compilation fails locally); renv upgraded to 1.2.3 per the lockfile, which rewrites renv.lock in its slimmer record format and updates renv/activate.R. Package set is unchanged (61 packages). Full test suite passes (1645 tests, 0 failures). Also remove dev/release-decisions.md: every handoff item is resolved now that PRs #99 and #100 are merged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #99 (retargets to main automatically when that merges). Implements the B25106 product decision (handoff item 6) plus the codebook universe request.
New measures
tenure_by_housing_costs (B25106) — previously raw counts only:
cost_burdened_owner_30percentormore_allincomes_percentcost_burdened_owner_30percentormore_incomeslessthan35000_percent/..._incomeslessthan50000_percentcost_burdened_alltenures_30percentormore_allincomes_percentowner_cost_burden (B25091, new table) — owner burden by mortgage status, including severe burden (B25106 tops out at 30%+, so 50%+ requires B25091):
cost_burdened_owner_withmortgage_30percentormore_percent/..._50percentormore_percentcost_burdened_owner_withoutmortgage_30percentormore_percent/..._50percentormore_percentcost_burdened_owner_50percentormore_allincomes_percent(combined)Denominators exclude households with no computable cost ratio (zero/negative income; renters paying no cash rent; B25091 "not computed"), consistent with the existing B25074 renter measures. Breaking: the six existing renter measures gain an explicit tenure label —
cost_burdened_*→cost_burdened_renter_*.Codebook universe statements
The codebook gains a
universecolumn with the Census Bureau's published universe statement per variable ("Households", "Population 25 years and over", ...), fetched from the keylessgroups.jsonendpoint via a new session-cachedload_acs_groups(). Derived variables inherit their numerator's universe; complements inherit through their source; metadata fields read "Not applicable". Universes exist for 2020+ vintages; earlier years yieldNA.Verification