R 匹配3个治疗组和;绘制加权前后的ASMD
我正在使用TWANG匹配3个治疗组,我可以生成图1和图2(如图所示),但不幸的是,我无法生成图3来评估加权前后的绝对标准化平均差(ASMD) 这是我的密码:R 匹配3个治疗组和;绘制加权前后的ASMD,r,matching,R,Matching,我正在使用TWANG匹配3个治疗组,我可以生成图1和图2(如图所示),但不幸的是,我无法生成图3来评估加权前后的绝对标准化平均差(ASMD) 这是我的密码: mnps.newtest1.ATE <- mnps(ttt_gps.3gp.Neo.Adj.dCRT ~ AGE + SEX + Race_2psW.O + CDCC_2gps01.2 + Histology_3gps + TUMOR_SIZE_R +
mnps.newtest1.ATE <- mnps(ttt_gps.3gp.Neo.Adj.dCRT ~ AGE + SEX +
Race_2psW.O + CDCC_2gps01.2 + Histology_3gps +
TUMOR_SIZE_R + YEAR_OF_DIAGNOSIS,
data = testdf2,
n.trees=10000,
interaction.depth=2,
shrinkage=0.01,
perm.test.iters=0,
stop.method=c("es.mean","ks.mean"),
estimand = "ATE",
verbose=F)
*****矩阵中的错误(unlist(value,recursive=FALSE,use.names=FALSE),nrow=nr,:“dimnames”[2]的长度不等于数组
附加扩展数据块:警告消息:在is.na(e2)中:is.na()应用于
“NULL”类型的非-(列表或向量)*****
在谷歌搜索了这个错误后,我在1个网站()上找到了这个解决方案,但它还不起作用
plot(as.matrix(mnps.newtest1.ATE), plots = 3)
if(长度(治疗)>2&x$estimand==“ATE”)停止时出错(“
\“treatments\”参数必须为null或长度为1或2。”):参数的长度为零
非常感谢您的任何帮助这可能是因为您使用了
tibble
而不是数据帧(即testdf2
)。如果您使用tidyverse
中的包来创建数据帧,如haven
。将testdf2
替换为as.data.frame>,就会发生这种情况(testdf2)
如果这是问题的原因,则应解决该问题
如果您想让平衡图显示得更漂亮,我建议使用cobalt
包(我就是为此编写的)。运行library(cobalt)
后,运行love.plot(bal.tab(mnps.newtest1.ATE))
,它提供了具有相同信息的图(请参见下面的示例和一些附加选项)
您可以设置which.treat=NULL
以查看所有成对差异
嗨,诺亚,你会如何选择特定的成对比较与
哪种治疗方法进行比较?
?另外,我有7个治疗臂,试图找到一种方法来显示所有的比较。我问了上面的哪种治疗方法,因为我想一次做两对,但可能类似于facet\u wrap()
可以工作吗?我只是不知道在这个用例的facet wrap函数中使用什么查看如何使用哪个.treat
。要使用facet_wrap()
,请使用love.plot(.)+facet_wrap(vars(treat),ncol=5)
。我要告诉你,显示21个比较并不是显示平衡的最佳方式。使用pairwise=FALSE
将提供更有用的显示。
plot(as.matrix(mnps.newtest1.ATE), plots = 3)