【问题标题】:Panel Data including Subgroups or Pooled OLS包括子组或合并 OLS 的面板数据
【发布时间】:2019-08-14 11:10:00
【问题描述】:

我正在分析一个按国家/地区划分的数据集,但也包括年龄组和性别群组,包括 5 个年度周期。在这几年之间发生了一次干预。

由于数据稀疏,我想比较每个子组的效果,所以我可能会达到统计显着性(例如,两国的女性都在 10-20 岁之间,我将这个变量称为 ID,每个子组只存在一个数字国家)。

  1. 我尝试使用 plm 包进行面板分析,但是,我尝试为国家、年份和 ID 编制索引,但这不起作用,因为它不是唯一的。 是否甚至可以包括国家影响但有国家的子组? (见下面的代码)

  2. 我通过使用 lmList 并保存系数来尝试差异差异。这对于通过 ID 分隔的每个子组。 (见下面的代码) 这已经奏效,但在有限的时期内,没有达到统计显着性,即使系数都是相同的方向。所以我想知道是否有可能再次组合这些模型,从而获得可靠的结果?

1. fixed <- plm(FE ~ x , data=df, index=c("ID","country", "year"), model="within")

2. list <- coef(lmList(y~ treated + time + did | ID, data=df))

来自 1 的错误。

  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)

对于 2。 我确实得到了一个包含所有系数的数据框,但是有什么想法可以正确总结或显示这些系数吗?只取一个系数的平均值似乎有点不熟练。

高度赞赏的任何帮助。

【问题讨论】:

    标签: r panel-data plm


    【解决方案1】:

    我解决第一个问题(只是编码)。 plm 需要index=c("individual", "time") 的面板结构。但是你可以为你的观察单位定义一个新的 ID。在这里,您可以将标识符中的这些数字变量与dplyr 结合起来:

     library(dplyr) df <- transform(df,GID=paste0(ID,country))
    
     library(plm) summary(plm(y ~ x, index=c("GID", "year"), data = df,
     model = "within"))
    

    一般来说,您可以定义所有其他类型的观察组。您的“ID”是数字还是字符串?您应该添加更详细的数据描述或提供一些示例数据。

    【讨论】:

      猜你喜欢
      • 2022-01-21
      • 2020-03-23
      • 2012-05-06
      • 2023-01-17
      • 2016-06-07
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多