假若有104家庭 2010选择的课程为:programming和piano,而在2011选择为swimming,不同于101家庭,104家庭在课程选择上没有共同的课程,这种情况也是赋值为1,是吗?也就是说,统计的是当年异于上一年年份课程选择的类数,若当年课程选择种类在上一年份的选择范围内,统计的减少类数。尝试以下代码:
- encode course,gen(course_id)
- duplicates drop year family_id course,force
- rangestat (count) course_id, interval(year -1 0) by(family_id course)
- bys family_id year: egen dupli_count=count(_n) if course_id_count>1
- collapse (count) a_count=course_id (mean) dupli_count, by(family_id year)
- bys family_id (year): replace dupli_count=0 if dupli_count==. & _n>1
- gen wanted=a_count-dupli_count
- replace wanted=a_count-a_count[_n-1] if wanted==0
- drop *_count
复制代码