第1个回答 推荐于2017-12-16
单就你给的这个命令来说,tab1 group, g(a)的意思是把group这个变量取值相同的归为一组,生成一组新的虚拟变量,group有几个取值就生成几个虚拟变量,同一个虚拟变量取值为1表示为同一组。
举个例子,如果group变量有10个观测值,其中第一个到第五个取值为A,第六个到第十个取值为B,显然我们希望第一个到第五个分为一组,剩下的为另一组,那么用tab1 group, g(a)这个命令可以。得到的结果是会生成a1, a2两个新的虚拟变量,a1=1为一组,这一组的group取值为A;a2=1也为一组,这一组的group取值为B。但这样分组其实没有什么太大意义,因为本来group=A, 或者group=B 天然就是一组了,不用虚拟变量表示也很直观。
我不太明白你的数据具体是怎么样,想根据什么变量分组,我只能解释下你给的命令的含义。本回答被提问者采纳
第2个回答 推荐于2016-01-05
【方法】
xgroup
xgroup is an extended version of the egen function group(varlist). It inputs a varlist of existing variables, and groups the data by the varlist. It generates as output a new variable, indicating the group to which each observation belongs, and/or an output dataset (or resultsset), with 1 observation per group, and data on the values of the varlist variables, and of the generated variable (if specified), corresponding to that group.
【例子】
sysuse auto, clear
xgroup rep78 foreign, saving(auto1.dta, replace)
单就你给的这个命令来说,tab1 group, g(a)的意思是把group这个变量取值相同的归为一组,生成一组新的虚拟变量,group有几个取值就生成几个虚拟变量,同一个虚拟变量取值为1表示为同一组。
举个例子,如果group变量有10个观测值,其中第一个到第五个取值为A,第六个到第十个取值为B,显然我们希望第一个到第五个分为一组,剩下的为另一组,那么用tab1 group, g(a)这个命令可以。