平衡面板n与T标识颠倒:如何修正plm模型的维度识别?
修正双向固定效应模型的面板维度识别问题
你的代码存在两个核心问题,导致面板维度识别错误:
- 函数拼写错误:你写的
updata.frame是错误的,plm包中用于创建面板数据对象的正确函数是pdata.frame(),错误函数无法正确解析面板结构。 - index维度顺序不匹配:plm默认
index参数的第一个元素是个体维度,第二个是时间维度,你之前的顺序搞反了,且因函数错误导致调整顺序后也不生效。
修正步骤:
- 第一步:修正面板数据创建代码,将个体(
Powiat,共378个)放在index首位,时间(Rok,共2个)放在第二位:
# 正确创建面板数据对象,指定个体-时间的维度顺序 Indeksy <- pdata.frame(PiS, index = c("Powiat", "Rok"))
- 第二步:重新拟合双向固定效应模型:
fixed_effects_model_05_07 <- plm(Logarytm_Wynik_Wyborczy_05_07 ~ Logarytm_bezrobotni_05_07 + Logarytm_srednie_wynagrodzenie_05_07, data = Indeksy, effect = "twoways", model = "within" )
- 第三步:验证维度是否正确:
运行pdim(Indeksy)或查看模型摘要summary(fixed_effects_model_05_07),此时面板维度应显示为Balanced Panel: n = 378, T = 2, N = 756,符合预期。
内容的提问来源于stack exchange,提问作者Viktor
相关产品推荐
相关产品推荐

