r - 固定效应 plm 包 R - 每年/id 的多次观察

标签 r plm economics

我正在研究州和年份固定效应回归,根据该行的种族(白人、黑人、其他),每个州/年份组合有 3 个观察值 - 请参阅下面的链接。
到目前为止,我一直在使用基本 lm 函数来估计考虑所有三个种族的固定效应回归。我通过使用州、年份和种族作为因素变量来做到这一点。我还对每场比赛进行单独的回归。问题是我更喜欢使用 plm 包,这样我就可以获得所有种族模型的 r 平方内,但是它给了我错误。

编辑:I included a picture of my data here 该数据是一个平衡面板,有 34 个州、12 年(2003-2014 年),每个州/年组合有 3 个种族,因此总共有 1244 个观察值。

这是我用来运行 plm 回归的代码:

#plm regression
plm.reg <- plm(drugcrime_ar ~ decrim_dummy + median_income + factor(race),
               data = my.data, index=c("st_name","year"), model = "within",
               effect = "twoways")

我收到的错误:

Error in pdim.default(index[[1]], index[[2]]): 
   duplicate couples (id-time) 
In addition: Warning messages: 
1: In pdata.frame(data, index) :
   duplicate couples (id-time) in resulting pdata.frame
   to find out which, use e.g. table(index(your_pdataframe), useNA = "ifany"
2: In is.pbalanced.default(index[[1]], index[[2]]) :
   duplicate couples (id-time)
 3: In is.pbalanced.default(index[[1]], index[[2]]) :
   duplicate couples (id-time)  ` 

有解决方法吗?还是我运气不好?

最佳答案

plm 函数只需要一对 ID/时间。对于您提供的每个 ID,您都有一年以上的时间。

如果每个 st_namerace 对形成一个“个体”(或者您为面板的这个维度指定的任何名称),那么您可以这样做:

library(dplyr)

my.data$id <- group_indices(my.data, st_name, race)    
#which would be the same as my.data <- my.data %>% mutate(id = group_indices(st_name, race)), if this function supported mutate. 

plm.reg <- plm(drugcrime_ar ~ decrim_dummy + median_income + factor(race),
           data = my.data, index=c("id","year"), model = "within",
           effect = "twoways")

但是,请注意,在这种情况下,您没有使用 @Helix123 建议的某种嵌套面板结构。您只是重新定义面板的第一个维度。

关于r - 固定效应 plm 包 R - 每年/id 的多次观察,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43510067/

相关文章:

软件开发经济学

r - 如何在 R 或 Excel 中的每 3 行产生一个结果?

r - "Page Not Found"尝试访问部署在 Netlify 上的站点时

r - dplyr 迭代分位数的所有列

r - 使用 R 中的 plm 包进行集群鲁棒标准误差的 IV 估计

r - 尝试运行固定效应逻辑回归时出错

python - 将连续映射到连续的强化学习方法

r - 奇怪的 "changeable"导致 R 中的循环

r - 2 路 FE 模型在 R 中给出 "empty model"

matlab - "@#"在dynare/Matlab中的使用