问题描述
我一直在尝试在 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)
。