How to calculate average number of individuals under age 18 in a household?

Hi All,

I’ve found the person-level variable “NCHILD”, which counts the number of own children in the household (of any age).

I would like to calculate the average number of minors (i.e individuals under age 18) in a household using US census data.

How could I go about calculating this? Ideally I would like to do this in the SDA tool, but if necessary I am happy to use Stata.


The best way to calculate the average number of minors in U.S. households is not to use NCHILD, but to use the household roster. If you are using NCHILD values for the entire household, you will omit minors in households that are either not the child of anyone in the household, and therefore not captured by using NCHILD. You will also double-count minors with two parents in their household, because each of their co-resident parents will count this minor in their NCHILD value.

Using the household roster, you can create a variable that counts the number of persons under age 18 in each household. You can then average this household-level variable for the sample(s) you are using. I cannot think of a way to perform this calculation using the SDA. To perform the calculation in Stata, you should use SERIAL and SAMPLE together to uniquely identify households (or just SERIAL to uniquely identify households within a single sample), use AGE to identify persons under age 18, and use HHWT to weight your household-level analysis. If I were using Stata to create a household-level variable that counts the number of children in a household, I would probably use code like:

gen child = 1 if age<18
replace child = 0 if age>17
egen hhchildren = sum(child), by(serial sample)

To then restrict your analysis to just one person per household (to perform a household-level analysis), be sure to filter on PERNUM=1. This retains only the first person record within each household and counts each household only once.