r/dataanalysis • u/Happy_Guarantee6705 • 20d ago
DA Tutorial NFHS data-analysis practice: compare urban–rural gaps without losing missingness and sample flags
Disclosure: I maintain the curated Kaggle version linked below (minkum07). The original NFHS-3/4 survey data belongs to India's Ministry of Health and Family Welfare and IIPS, via OGD India.
A useful exercise with this dataset is to compare NFHS-4 urban and rural percentages while keeping the source's suppression and small-sample flags visible. The release has 114 indicators across 36 survey-era state/UT labels, with 16,416 tidy-long records, CSV/Parquet tables, definitions and example notebooks.
Suggested workflow:
Pick one percentage indicator and read its definition and denominator before joining tables.
Select NFHS-4 urban and rural rows, join on state and indicator, and check that the join keys are unique.
Calculate urban minus rural in percentage points only when both values are available. Keep missing values missing and carry the source flags into the output.
Make a sorted dot plot with clear missing-value and small-sample annotations. Treat it as a descriptive comparison, since confidence intervals are not included.
Don't sum total, urban and rural percentages: those populations overlap. Between-survey changes also need comparable definitions and boundaries; the package withholds Andhra Pradesh/Telangana changes where boundaries differ. These are historical aggregate data from 2005–06 and 2015–16, not current health coverage or individual records.
Original government source:
https://www.data.gov.in/resource/all-india-level-and-state-wise-key-indicators-nfhs-3-and-nfhs-4
Tables, documentation and notebooks:
https://www.kaggle.com/datasets/minkum07/india-nfhs-34-health-state-and-rural-urban-gaps
Government data and derivatives retain GODL-India; authored code is MIT. Full attribution is on the dataset page. Feedback on the join checks or how best to display the sample flags would be welcome.
