黃河泉 发表于 2018-12-9 15:08 
只有两个月吗?
6年,每年12个月。之所以问这个问题,是因为nvals只告诉你每个月产品的种类数,但是在做不同月比较时,就不知道这个月的两类和下个月的两类是不是相同。这里存在三种情况,可能完全相同,完全不同,和部分相同。所以我的一个思路是,先求出单个月的种类数,再求连续2个月的种类数。结果在求连续连个月的种类数时结果月单个月一样,或者是缺失值。我用循环语句,如下
gen type1=.
sort ic ym
forv i=2000/2006{
forv j=1/12{
gen z=`j' if year==`i' & month==`j'
replace month=`j+1' if year==`i' & month==`j'
bys id: egen u=nvals(hs_id) if year==`i' & month==`j+1'
replace dtype1=u if z==`j'
replace month=`j' if month==`j+1' & z==`j'
drop u z
}
}