【问题标题】:Fitting a regression discontinuity model in R with covariates using rdrobust package使用 rdrobust 包在 R 中使用协变量拟合回归不连续模型
【发布时间】:2019-12-27 04:08:41
【问题描述】:

如何使用 R 中的“rdrobust”包为回归不连续模型指定协变量?

问题在于下面代码中的“covs”参数。它应该允许为模型指定额外的协变量。我尝试从数据集中提供一个向量向量(如下面的代码)和一个变量名向量,但似乎都不起作用。

fm = rdrobust(datasets$CONTINUANCE,
              dataset$T,
              p=3,
              covs=c(dataset$CONTENT_LENGTH, dataset$CONTENT_SNIPPET),
              kernel='uniform',
              weights=dataset$USERS,
              bwselect='msetwo',
              vce='nn',
              nnmatch=7,
              level=95)

因此,我收到以下错误:

Error in if (c <= x_min | c >= x_max) { : 
  missing value where TRUE/FALSE needed
Calls: rdrobust
Execution halted

【问题讨论】:

    标签: r


    【解决方案1】:

    不幸的是,这个包的文档没有帮助。您将协变量指定为公式 (var1 + var2) 而不是向量 (c(var1, var2)),所以这样的东西应该可以工作:

    fm = rdrobust(datasets$CONTINUANCE,
                  dataset$T,
                  p=3,
                  covs=dataset$CONTENT_LENGTH + dataset$CONTENT_SNIPPET,
                  kernel='uniform',
                  weights=dataset$USERS,
                  bwselect='msetwo',
                  vce='nn',
                  nnmatch=7,
                  level=95)
    
    

    【讨论】:

    • 谢谢!现在可以了。也许我会向软件包的作者发送一封电子邮件以更新文档。
    【解决方案2】:

    在当前版本的 rdrobust (0.99.4) 中,协变量应通过 cbind 合并为组合对象。在上面的例子中:

    fm = rdrobust(datasets$CONTINUANCE,
                  dataset$T,
                  p=3,
                  covs=cbind(dataset$CONTENT_LENGTH, dataset$CONTENT_SNIPPET),
                  kernel='uniform',
                  weights=dataset$USERS,
                  bwselect='msetwo',
                  vce='nn',
                  nnmatch=7,
                  level=95)
    

    我们将在即将推出的下一个版本中牢记这一点。 谢谢, 塞巴斯蒂安。

    【讨论】:

    • 谢谢塞巴斯蒂安 - 非常有帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    相关资源
    最近更新 更多