mnaa 发表于 2020-6-21 14:11 
是这样的
年份
/*
id np2007 np2008 np2009
001 5 9 19
002 8 14 27
003 6 8 10
004 9 16 17
005 4 7 15
你每一年都要分高中低三组,现在数据是宽面板,一年一年的算的话,要多2*3个变量,M2007、H2007...
所以先转换为长面板
*/
reshape long np,i(id) j(year)
*然后进行分组,分组看你选择什么标准。
***第一种是按照大小顺序排列等分三组:
sort year np
by year: gen g_np = group(3)
xi i.g_np
renvars _Ig_np_2 _Ig_np_3 \ M H
***第二种是自定义分组界限,比如np<=a,为第一组;a<np<=b,为第二组;np>b,为第三组
sort year np
by year: gen g_np = irecode(np,a,b)
xi i.g_np
renvars _Ig_np_1 _Ig_np_2 \ M H
*(注意:group分组是1,2,3; irecode分组是0,1,2;故在分类产生虚拟变量的命名存在略微差异)
*还有别的条件分组方式就不说了,cond、inrange、clip等函数,实质差不多
sort id year