R中plm包中具有三个固定效果的模型
model with three fixed effects in plm package in R
我正在尝试用 3 个固定效应估计模型。一种是客户固定效应,另一种是好的固定效应,第三种是时间固定效应。我是 plm 包的新手,但据我所知,如果我只有 2 个固定效果(时间和好)。我会做这样的事情:
fe <- plm(outcome ~ dependent variable + explanatory variable 1 + explanatory variable 2,
data = mydata, index = c("good_id", "time"), model = 'within', effect = "twoways")
但是,如果我没有 2 个固定效果,而是 3 个,我如何在 plm 包中解决这个问题?
您可以使用 factor()
添加第三个固定效应作为虚拟变量。 示例:
library(plm)
data("Produc", package="plm")
# plm FE model
zz1 <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp +
factor(region),
data=Produc, index=c("state","year"), model='within', effect="twoways")
# LSDV model
zz2 <- lm(log(gsp) ~ 0 + log(pcap) + log(pc) + log(emp) + unemp
+ factor(state) + factor(year) + factor(region),
data=Produc)
summary(zz1)$coe
# Estimate Std. Error t-value Pr(>|t|)
# log(pcap) -0.030176057 0.026936544 -1.120265 2.629606e-01
# log(pc) 0.168828035 0.027656339 6.104497 1.655450e-09
# log(emp) 0.769306196 0.028141794 27.336786 1.275556e-114
# unemp -0.004221093 0.001138837 -3.706493 2.256597e-04
summary(zz2)$coe[1:4,]
# Estimate Std. Error t value Pr(>|t|)
# log(pcap) -0.030176057 0.026936544 -1.120265 2.629606e-01
# log(pc) 0.168828035 0.027656339 6.104497 1.655450e-09
# log(emp) 0.769306196 0.028141794 27.336786 1.275556e-114
# unemp -0.004221093 0.001138837 -3.706493 2.256597e-04
产生相同的系数和统计数据。
感谢大家的帮助!我实际上自己找到了另一个解决方案,它可能会增加提供的想法:
https://cran.r-project.org/web/packages/fixest/vignettes/fixest_walkthrough.html#1_simple_example_using_trade_data
此包允许包含多个固定效果
我正在尝试用 3 个固定效应估计模型。一种是客户固定效应,另一种是好的固定效应,第三种是时间固定效应。我是 plm 包的新手,但据我所知,如果我只有 2 个固定效果(时间和好)。我会做这样的事情:
fe <- plm(outcome ~ dependent variable + explanatory variable 1 + explanatory variable 2,
data = mydata, index = c("good_id", "time"), model = 'within', effect = "twoways")
但是,如果我没有 2 个固定效果,而是 3 个,我如何在 plm 包中解决这个问题?
您可以使用 factor()
添加第三个固定效应作为虚拟变量。 示例:
library(plm)
data("Produc", package="plm")
# plm FE model
zz1 <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp +
factor(region),
data=Produc, index=c("state","year"), model='within', effect="twoways")
# LSDV model
zz2 <- lm(log(gsp) ~ 0 + log(pcap) + log(pc) + log(emp) + unemp
+ factor(state) + factor(year) + factor(region),
data=Produc)
summary(zz1)$coe
# Estimate Std. Error t-value Pr(>|t|)
# log(pcap) -0.030176057 0.026936544 -1.120265 2.629606e-01
# log(pc) 0.168828035 0.027656339 6.104497 1.655450e-09
# log(emp) 0.769306196 0.028141794 27.336786 1.275556e-114
# unemp -0.004221093 0.001138837 -3.706493 2.256597e-04
summary(zz2)$coe[1:4,]
# Estimate Std. Error t value Pr(>|t|)
# log(pcap) -0.030176057 0.026936544 -1.120265 2.629606e-01
# log(pc) 0.168828035 0.027656339 6.104497 1.655450e-09
# log(emp) 0.769306196 0.028141794 27.336786 1.275556e-114
# unemp -0.004221093 0.001138837 -3.706493 2.256597e-04
产生相同的系数和统计数据。
感谢大家的帮助!我实际上自己找到了另一个解决方案,它可能会增加提供的想法: https://cran.r-project.org/web/packages/fixest/vignettes/fixest_walkthrough.html#1_simple_example_using_trade_data 此包允许包含多个固定效果