gpt4 book ai didi

R - Plm 和 lm - 固定效果

转载 作者:行者123 更新时间:2023-12-03 18:14:57 27 4
gpt4 key购买 nike

我有一个平衡的面板数据集 df,它基本上由三个变量 A、B 和 Y 组成,这些变量随着时间的推移为一堆唯一识别的区域而变化。我想运行一个回归,其中包括区域(以下等式中的区域)和时间(年)固定效应。如果我没记错的话,我可以通过不同的方式实现这一点:

lm(Y ~ A + B + factor(region) + factor(year), data = df)

或者
library(plm)
plm(Y ~ A + B,
data = df, index = c('region', 'year'), model = 'within',
effect = 'twoways')

在第二个等式中,我指定了指数(地区和年份)、模型类型('within',FE)和 FE 的性质('twoways',这意味着我同时包括了地区和时间 FE)。

尽管我似乎在做正确的事情,但我得到了截然不同的结果。当我这样做时,问题消失了 不是 考虑时间固定效应 - 并使用参数 effect = 'individual'。
这里有什么交易?我错过了什么吗?是否有其他 R 包允许运行相同的分析?

最佳答案

也许发布您的数据示例将有助于回答这个问题。对于一些合成数据,我得到了相同的系数。您也可以使用 felm来自包裹lfe做同样的事情:

N <- 10000
df <- data.frame(a = rnorm(N), b = rnorm(N),
region = rep(1:100, each = 100), year = rep(1:100, 100))
df$y <- 2 * df$a - 1.5 * df$b + rnorm(N)


model.a <- lm(y ~ a + b + factor(year) + factor(region), data = df)
summary(model.a)
# (Intercept) -0.0522691 0.1422052 -0.368 0.7132
# a 1.9982165 0.0101501 196.866 <2e-16 ***
# b -1.4787359 0.0101666 -145.450 <2e-16 ***

library(plm)
pdf <- pdata.frame(df, index = c("region", "year"))

model.b <- plm(y ~ a + b, data = pdf, model = "within", effect = "twoways")
summary(model.b)

# Coefficients :
# Estimate Std. Error t-value Pr(>|t|)
# a 1.998217 0.010150 196.87 < 2.2e-16 ***
# b -1.478736 0.010167 -145.45 < 2.2e-16 ***

library(lfe)

model.c <- felm(y ~ a + b | factor(region) + factor(year), data = df)
summary(model.c)

# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# a 1.99822 0.01015 196.9 <2e-16 ***
# b -1.47874 0.01017 -145.4 <2e-16 ***

关于R - Plm 和 lm - 固定效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43636724/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com