r - 如何在 Sensemakr 中手动提供基准协变量的估计值?
问题描述
我正在使用 r 包'sensemakr'。该软件包对 OLS 估计值进行敏感性分析。
但是,我正在运行一个lm
需要聚集标准错误的模型(使用函数coeftest
)。由于该sensemakr
函数不接受coeftest
对象,因此我通过在函数中手动输入estimate
、se
和来指定灵敏度分析,具体如函数中数字选项下的包中所写。dof
sensemakr
sensemakr
在包中,sensemakr
函数中的数字选项由以下参数给出:
## S3 method for class 'numeric'
sensemakr(
estimate,
se,
dof,
treatment = "D",
q = 1,
alpha = 0.05,
r2dz.x = NULL,
r2yz.dx = r2dz.x,
bound_label = "manual_bound",
r2dxj.x = NULL,
r2yxj.dx = r2dxj.x,
benchmark_covariates = "manual_benchmark",
kd = 1,
ky = kd,
reduce = TRUE)
有关参数的详细信息,请参见包的第 32 页
estimate
但是,我不确定在哪里/如何se
在sensemakr
.
我使用作者在他们的教程中使用的 Darfur 示例编写了 R 代码来复制我的问题。
如果有人熟悉此软件包并能够提供帮助,我将不胜感激。
######################## Code Summary ##################
#Tutorial can be accessed here:
#https://cran.r-project.org/web/packages/sensemakr/vignettes/sensemakr.html
########################## Prelude #####################
rm(list=ls(all=TRUE))
options(stringsAsFactors = FALSE)
options(scipen = 3)
set.seed(1993)
######################### Functions ###################
######################### Library #####################
library(sensemakr)
library(lme4) # mixed random effects models
library(lmtest) # coeftest function
library(lmerTest) # p-values for mixed random effects models
library(multiwayvcov) # clustered standard errors
library(broom)
######################## Upload Data ##################
data("darfur")
#LM Model
darfur.model <- lm(peacefactor ~ directlyharmed + village + female +
age + farmer_dar + herder_dar + pastvoted + hhsize_darfur,
data = darfur)
summary(darfur.model)
#coeftest
darfur.model_cluster <- coeftest(darfur.model, vcov = cluster.vcov(darfur.model, cluster=darfur$village)) # Model 1 Linear Estimator; OLS State Fixed-Effects with Clustered Standard Errors--Total Covid Deaths Per 100K
#sensitivity analysis
#How can I specify benchmark_covariates' estimates and se using numeric class of the sensemakr function?
darfur.sensitivity <- sensemakr(estimate = subset(tidy(darfur.model_cluster), term %in% c("directlyharmed"))$estimate,
se =subset(tidy(darfur.model_cluster), term %in% c("directlyharmed"))$std.error,
dof = df.residual(darfur.model_cluster),
treatment = "directlyharmed",
benchmark_covariates = "female",
kd = 1:3,
ky = 1:3,
q = 1,
alpha = 0.05,
reduce = TRUE)
summary(darfur.sensitivity)
解决方案
推荐阅读
- sparql - 维基数据中语义相似性的 SPARQL 查询超时
- r - 在 R 中初始化依赖包的正确方法,例如使用 ggmap
- database - 如何分块和存储很长的图像、矩阵或音频文件
- android - CognitoUserPool userPool = new CognitoUserPool(this, AWSMobileClient.getInstance().getConfiguration()); 给出空值
- swift - 动态链接 Firebase 仅在第一次工作
- javascript - Node.js 中超过 256 个并发 websocket 连接
- subquery - 在 AWS Athena 中重用子查询会生成大量扫描数据
- javascript - Javascript变量不加在一起
- php - Apple Pay on Web - 商户识别符证书
- javascript - 单击以滚动可滚动 div 内的元素不起作用