Data audit — data/life_expectancy_panel.csv
- SHA-256: b3f2f774ed6797034acf62853286ca37fc02334ba3ce70e745e4f3d5c533c3ac (matches bundle.json). data/README.md SHA-256 e9099d20…d0 (matches).
- 440 lines = 1 header + 439 data rows; 4 columns: country_name (str), iso3 (str), year (int), life_expectancy (float, years, 3 dp). 23 rows have "Korea, Rep." quoted (5 comma-separated fields raw, parsed correctly to 4 columns).
- Years 2000–2022 (all 23 present). 20 distinct iso3; 21 distinct country_name.
- Values: 438 non-missing, range 51.49–84.56 years — plausible.
Anomalies
- TUR duplicated: 46 rows, 23 under "Turkey" and 23 under "Turkiye" — same iso3, same years, identical values in all 23 years (assembly from two extractions; WB renamed Turkey→Türkiye). Handling: deduplicate on (iso3, year), keeping one row; since values are identical, the choice does not affect any number. Canonical name kept: "Turkiye" (current WB name, consistent with README's "Türkiye").
- CHE 2007 empty life_expectancy (row present, value missing). Handling: treated as missing, not imputed → CHE not in balanced set.
- BGD, ETH, IND, NGA only 2011–2022 (12 rows each; 2000–2010 rows absent — narrower extraction). Handling: missing years; countries excluded from balanced set; included in the 2022 all-available baseline.
- No exact duplicate rows; no other (iso3, year) duplicates; one name per iso3 apart from TUR.
Availability-rule check
No input violates the rules; nothing external is used. Missing values not imputed.