我有两个因素变量,一个被编码为数字,另一个被编码为字符串。叫他们C和N。我想把他们的互动包括在一个回归(这将把他们扩展为假人。在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")在斯塔塔,我想做这样的事
xtset C N
xtreg y c*N, fe这样做的语法是什么?
发布于 2014-03-12 21:50:09
必须转换为数字的字符串变量。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 variables,help encode以获取详细信息。
注意:我没有尝试把你的R代码翻译成Stata。
发布于 2014-03-13 01:50:59
#在xtabond中不工作。参见类似的问题,这里关于国家主义者。下面是在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中,您可以在Stata中为group使用interact。
https://stackoverflow.com/questions/22363024
复制相似问题