stata(11)中因子因子交互的语法是什么?

时间:2014-03-12 20:26:24

标签: r syntax statistics stata interaction

我有两个因子变量,一个编码为数字,另一个编码为字符串。称他们为CN。我希望将他们的交互包含在回归中(这会将它们扩展为虚拟对象。在R中我会编码

lm(y~as.factor(C)*as.factor(N))

library(plm)
C = as.factor(C)
N = as.factor(N)
plm(y~C:N, index=c('C','N'), effect="twoways")

在stata中,我想做类似

的事情
xtset C N
xtreg y c*N, fe

这样做的语法是什么?

2 个答案:

答案 0 :(得分:2)

必须转换为数字的字符串变量。 encode是一种选择。然后使用Stata的因子变量表示法(即#)。一个荒谬的例子:

clear all
set more off

sysuse auto
describe
keep price mpg make

encode make, gen(make2)
regress price mpg c.mpg#i.make2

因子变量符号与Stata 11精确引入。

输入help factor variableshelp encode,了解详情。

注意:我没有尝试将您的R代码翻译到Stata。

答案 1 :(得分:2)

#xtabond中不起作用。在Statalist上查看类似问题here。这是在Stata解决这个问题的快速而肮脏的方法:

webuse abdata
tabulate ind,gen(ind) # industry dummies 
tabulate year,gen(yr) # this is not needed because it is already in the dataset
egen ind_year=group(ind year) # interaction of year and ind or gen ind_year=ind*year works
tabulate ind_year,gen(ind_year) # interaction dummies
xtabond n l(0/1).w  ind2-ind9 yr1977-yr1984 ind_year2-ind_year80

注意:在R中,您可以interact使用group Stata