separate — Create separate variables
有时候我们需要将一个变量分拆成几个变量,比如将gender变量,分拆成male变量和female变量。这时候可以使用separate命令,separate顾名思义就是分拆的意思。separate根据by选项(必选)的分组变量(groupvar)或表达式(exp)新建多个变量或两个变量。
separate命令的一般语句:separate varname, by(groupvar|exp) ;separate命令的菜单使用方法:Data > Create or change data > Other variable-transformation commands > Create separate variables。
实例(命令前的.不用输入,/**/之间的是程序注释):
. sysuse auto, clear /*读取Stata系统自带数据auto*/(1978 Automobile Data)
. separate mpg, by(foreign) /*新建变量mpg0和mpg1,当foreign为0时将值付给mpg0,当foreign为1时将值付给mpg1*/
storage display value
variable name type format label variable label
------------------------------------------------------------------------------------------
mpg0 byte %8.0g mpg, foreign == Domestic
mpg1 byte %8.0g mpg, foreign == Foreign
. separate price, by(price>6000)/*新建变量price0和price1,当price>6000为伪时将值付给mpg0,为1真将值付给price1*/ storage display value
variable name type format label variable label
------------------------------------------------------------------------------------------
price0 int %8.0gc price, !(price>6000)
price1 int %8.0gc price, price>6000
. separate price, by(price>6000) generate(mpgpr)/*自定义前缀mpgpr,新建变量mpgpr0和mpgpr1*/ storage display value
variable name type format label variable label
------------------------------------------------------------------------------------------
mpgpr0 int %8.0gc price, !(price>6000)
mpgpr1 int %8.0gc price, price>6000
最后,separate命令新建的变量保存在r()中,可以在宏语句进行调用。
软件传送门:Stata 12 SE 绿色版及使用手册(共17本)
http://www.epiman.cn/thread-33102-1-1.html