blockgroupstats (DATA) residential population and environmental indicators for Census blockgroups
Source:R/data_blockgroupstats.R
blockgroupstats.RdThis is the dataset of residential population data and environmental indicators used by EJSCREEN. It is a data.table with one row for every US Census blockgroup.
Details
SOURCES OF DATA:
Environmental indicators were obtained from a variety of sources, and their development in 2026 onward will be documented at https://github.com/Public-Environmental-Data-Partners/EJSCREEN-Data-Processing.
Demographics such as percentages are calculated using EJAM scripts and functions, starting with Census Bureau data from the American Community Survey 5-year summary file. ACS calculations are based primarily on formulas_ejscreen_acs, formulas_ejscreen_acs_disability, and formulas_ejscreen_demog_index.
The EJ Indexes (aka Summary Indexes) are calculated by EJAM based on blockgroupstats data, and are stored in a separate table, bgej
The definition of and source of data for every indicator was originally documented by EPA for EJSCREEN. Originally, the environmental, demographic, and EJ indicators/indexes and extra indicators all were provided by EPA for EJAM versions through v2.32.8 (early 2026).
Metadata on each indicator, such as its glossary definition or long name, are stored in the EJAM package, and can be accessed with the function
varinfo()and the dataset map_headernames.EJAM versions through v2.32.8.001 converted missing values of the drinking-water non-compliance indicator to zero when creating
blockgroupstats. Starting with later EJAM releases, environmental indicatorNAvalues should remainNAunless the source explicitly reports a valid zero score. In particular,drinking = NAmeans the source had no valid drinking-water score for that blockgroup, whiledrinking = 0means the source reported a valid score of zero.
VINTAGE:
Each year this should be re-created as for the latest version.
See
attributes(blockgroupstats)to confirm vintage of each datasetEJAM v3 (the v3.YYYY.0 annual-vintage line) uses indicators derived from the ACS 5-year vintage of each release; see
attributes(blockgroupstats)$acs_version(e.g. 2018-2022, 2019-2023, or 2020-2024).EJAM v2.32.x starting in August 2024 and through 2025 to early 2026, used demographic indicators derived from 2018-2022 ACS data.
Also see ejanalysis.com/status
GEOGRAPHIC SCOPE:
Data here includes States, DC, Puerto Rico (PR), and, for EJAM v3, the Island Areas AS/GU/MP/VI at the blockgroup dataset, EJSCREEN export, and map-data visibility level.
Puerto Rico is included in both Census 2020 and ACS survey data, so it has ACS-derived demographics in the
blockgroupstatsdataset.The American Community Survey (ACS) does not include AS/GU/MP/VI. For EJAM v3, the default EJSCREEN-compatible pipeline appends AS/GU/MP/VI rows with demographic fields, population, and demographic indexes kept as
NA, while using the archived EPA EJScreen ACS2022 reference for row IDs, area fields, and partial EPA environmental fields where available. The annual pipeline can also save 2020 Island Areas Census DHC demographics as a separatebg_islandareas_demographicscheckpoint for review. Those DHC demographics are not used in the default EJSCREEN-compatibleblockgroupstatsoutput unless the maintainer explicitly opts into a mixed-source supplemental dataset. See https://www.census.gov/programs-surveys/decennial-census/decade/2020/planning-management/release/2020-island-areas-data-products.html and also seestateinfo2[stateinfo2$is.island.areas, ]and islandareas. The Island Areas include American Samoa (AS), U.S. Virgin Islands (VI), Guam (GU), and Northern Mariana Islands (MP). The U.S. Minor Outlying Islands (UM) are also Island Areas but are not included in EJScreen.Island Areas are not supported by the block helper datasets used for point-buffer/radius and block-weighted polygon analysis, such as blockwts, blockpoints, bgid2fips, blockid2fips, quaddata, and bgpts. Radius/buffer analysis for AS/GU/MP/VI should return no-data results rather than block-weighted estimates.
COLUMNS / INDICATORS:
Column names include
bgfips,bgid(for join to blockwts by/onbgid),pop,pctlowinc, etc.For metadata on each column, see map_headernames and
varinfo()To see definitions of the columns (indicators) and some basic info on each:
x <- data.frame(
colname = names(blockgroupstats),
definition = fixcolnames(names(blockgroupstats), 'r', 'long'),
varinfo(names(blockgroupstats), info = c("varlist", "varcategory",
"vartype", "calculation_type", "denominator", "sigfigs", "decimals")))
rownames(x) <- NULL
x[1:20, ]- The compatibility-only column called `area` is retained from older
EJScreen/EJAM tables but should not be used for calculations. The columns
`arealand` and `areawater` are in square meters, not square miles. To
convert units:OTHER KEY DATASETS:
List of key datasets used by EJAM and details about annual updates: technical article on updating datasets
Datasets stored within the EJAM package (.rda files): Documentation and access to installed data files
Datasets used by EJAM but stored separately (large .arrow files): Documentation and release assets with downloadable data files