在一個(gè)已經(jīng)合并的學(xué)生數(shù)據(jù)集中,如何統(tǒng)計(jì)教師的年齡的均值呢?
使用到duplicates tag命令標(biāo)記每個(gè)班級(jí)id重復(fù)的個(gè)數(shù),統(tǒng)計(jì)出學(xué)生的個(gè)數(shù),然后再進(jìn)行一些巧妙的替換處理,具體計(jì)算如下:
*統(tǒng)計(jì)校級(jí)平均
duplicates tag classid year, gen(mistake) //標(biāo)記一個(gè)班重復(fù)多少個(gè),也就可以間接看出一個(gè)班由多少人
bysort classid year: replace mistake=0 if (_n != 1) //除每個(gè)班第一個(gè)外,剩下的全部替換為0
bysort schids:egen chnb02__ = mean(chnb02) if mistake!=0 //計(jì)算每個(gè)不等于0的學(xué)校級(jí)別的平均
bysort schids:egen chnb02___ = mean(chnb02__) //算出來(lái)的校級(jí)平均推廣到缺失值中
replace chnb02 =chnb02___ if chnb02==. //替換
replace chnb02 = floor(chnb02)
tab chnb02 $chn,m
cap drop chnb02__ chnb02___ mistake