使用 mnps 函数解决 TWANG 包 svyglm.survey.design 错误

问题描述

我一直在尝试在 R 中执行 mnps 函数,但我每次都收到此错误消息:

svyglm.survey.design(x ~ t,design) 中的错误: 所有变量都必须在 design=argument 中

这是我的代码

mnps_1 <- mnps(M02M_CONGPAT ~ M2_M_PPD + M00M2_COUPLE  + 
M00M2_PEREACC + M00X_AUTPATHO + M0_M_age + M0_P_age + M0_M_nation + 
M0_P_nation + mother_diploma + father_diploma + mom_profession + 
dad_profession + fchild + mother_medicine + M2_P_PPD + 
distress_mod_parent + distress_sev_parent + number_household + 
child_living_sit + Fwanted_child + Mwanted_child + M2_conflict_ab + 
M2_conflict_dp + M2_conflict_bp + M2_conflict + M0_zone + 
M0_siblingbis + cdi_pere + relative_poverty + relationship_mother,data = impute_1,n.trees = 10000,interaction.depth = 3,shrinkage = 0.01,perm.test.iters = 0,stop.method = c("es.mean","ks.max"),estimand = "ATE",verbose = FALSE)
if("pair" != "none"){                                 
baltab<-bal.table(mnps_1,collapse.to="pair")
 
 
 
 write.table(baltab,file='propensity_scores_impute_1.csv',row.names=FALSE,col.names=TRUE,sep=',',na='.')}

错误

Error in svyglm.survey.design(x ~ t,design) : 
all variables must be in design= argument

有人可以帮我吗?谢谢!

解决方法

这可能是因为您的数据变量 impute_1 是一个小标题。当向 bal.table() 提供 tibble 时,mnps() 无法正常工作。我能够通过向 mnps() 提供小标题来复制此错误,这是旧软件包中的常见问题,但可能有不同的原因。

如果出现这种情况,请尝试重新运行 mnps(),将 impute_ 替换为 as.data.frame(impute_1)