首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配3治疗组&在称重前后绘制ASMD图

匹配3治疗组&在称重前后绘制ASMD图
EN

Stack Overflow用户
提问于 2019-03-10 17:05:41
回答 1查看 330关注 0票数 0

我使用了重音来匹配3个治疗组,我可以生成第1和第2点(在这里显示为https://cran.r-project.org/web/packages/twang/vignettes/mnps.pdf ),但不幸的是,我无法生成在加权前后评估绝对标准化平均差异的第3区。

这是我的代码:

代码语言:javascript
复制
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)

警告消息:在ps中(公式= currFormula,data = currDat,n.trees = n.treesi,:最佳迭代次数接近指定的n.trees )。n.trees可能设置得太小,可以通过将n.trees设置为更大来获得更好的平衡。

代码语言:javascript
复制
plot(mnps.newtest1.ATE, plots = 3)

*矩阵中的错误(unlist(值,递归= FALSE,use.names = FALSE),nrow = nr,'dimnames‘2的长度不等于数组范围,此外:警告消息: In is.na(e2):is.na()应用于类型为’NULL‘*的非-(列表或向量)

然后在googling这个错误之后,我在一个网站(length of 'dimnames' [2] not equal to array extent when using corrplot function from a matrix read from a csv file )上找到了这个解决方案,但是它还没有起作用。

代码语言:javascript
复制
plot(as.matrix(mnps.newtest1.ATE), plots = 3)

如果(长度(处理)>2&x$估计和== "ATE") stop(“\”处理\“参数必须为null或长度为1或2”)中出现错误: 参数的长度为零。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2019-04-06 06:01:33

这很可能是因为您使用的是tibble而不是数据框架(即testdf2)。如果您使用tidyverse中的一个包来创建您的数据框架,比如haven,就会发生这种情况。如果这是原因的话,用testdf2代替as.data.frame(testdf2)应该可以解决这个问题。

如果您想要更漂亮的平衡图显示,我建议使用cobalt包(我是为此目的编写的)。运行library(cobalt)之后,运行love.plot(bal.tab(mnps.newtest1.ATE)),它提供了一个具有相同信息的绘图(参见下面的示例,其中有一些附加选项)。

您也可以将which.treat = NULL设置为查看所有成对差异。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55090202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档