具有国家特定趋势的固定效应回归 [英] Fixed effects regression with state specific trends
本文介绍了具有国家特定趋势的固定效应回归的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的是面板数据,我想估计具有州特定趋势的固定效应回归。
在Stata中,我可以通过以下方式完成此操作
xi i.state i.year i.state*time
reg y x _I*
以上将创建状态虚拟对象、年份虚拟对象和50个(状态x时间)虚拟对象,其中时间以数字形式标识趋势(即1、2、3...)
在R中,我可以使用plm或lm运行固定效果模型,例如
plm(y ~ x, index = c("state", "year"), effect = "twoways", data = df)
lm(y ~ x + factor(state) + factor(year), data = df)
我将如何像在Stata中那样包括50个(状态x时间)假人?
我知道interaction()
不是我想要的,因为这会创建一个具有n个级别的新因子变量,其中n=(状态数)x(时间段数)。我要做的是创建50个(状态x时间)变量,使state1xtime为1、2、3……如果状态==1,否则为零,对state2xtime重复,其中状态==2,依此类推。
推荐答案
您只需与year
交互即可完成此操作。正确的操作符是:
,它只包括交互术语。
请注意,lm
和plm
之间存在细微差别:
- 对于lm,只需
state:year
- 对于PLM,年份已隐式转换为因子,
state:as.integer(year)
也是如此(执行state:year
将给出状态和年份的所有组合)。
检查:
library(plm)
data("Produc", package = "plm")
produc_plm <- pdata.frame(Produc, index = c("state","year"))
### simple state-specific time trend ###
fe1_Ttrend_lm <- lm(log(gsp) ~ -1 + log(pcap) + log(pc) + log(emp) + unemp + state +state:year, data = Produc)
fe1_Ttrend_plm <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp + state : as.integer(year), data = produc_plm)
summary(fe1_Ttrend_lm)$coef[1:4,]
summary(fe1_Ttrend_plm)$coef[1:4,]
这篇关于具有国家特定趋势的固定效应回归的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文