各位大佬好:
在stata的回归中,若含有虚拟变量的话,需要在回归命令前加上xi:,如
xi: xtreg y income gdp i.year (1)
但是不加xi: 也能得到回归结果
xi:xtreg y income gdp i.year (2)
但(1)和(2)结果不一致。
如果提前生成虚拟变量,如
tab year, gen(year)
xtreg y income gdp year2-year7 (3)
(1)和(3)的结果是一致的。
如果变量是取值为整数的变量(如:year就是,year不是小数吧?year是整数),可以直接加“i.”于变量名前使之自动转换为虚拟变量直接调用,同时在命令最前面使用“xi:”,因此“xi: xtreg y income gdp i.year”的操作是对的,命令自动识别出year是类型变量并且在计算过程中将其自动转化为虚拟变量进行计算;但如果变量是文本字符串取值的类型变量或者数值类型的变量,那么可以:①采用命令“tab 变量名, gen(新的变量名)”,人工生成该变量对应的若干个虚拟变量(原变量有k个取值,新的虚拟变量就有k-1个);②再使用命令“命令名 因变量 其他自变量 虚拟变量2-虚拟变量k”进行操作。因此您的第3种操作也是对的。但是,第2种“xi:xtreg y income gdp year”命令是错误的,因为命令无法识别自变量中的类型变量是谁并且把它们都当做连续变量。总之,“xi:”就是识别虚拟变量的意思,并未过时,现在16和17版本的stata照样继续使用。