我使用了重音来匹配3个治疗组,我可以生成第1和第2点(在这里显示为https://cran.r-project.org/web/packages/twang/vignettes/mnps.pdf ),但不幸的是,我无法生成在加权前后评估绝对标准化平均差异的第3区。
这是我的代码:
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设置为更大来获得更好的平衡。
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 )上找到了这个解决方案,但是它还没有起作用。
plot(as.matrix(mnps.newtest1.ATE), plots = 3)如果(长度(处理)>2&x$估计和== "ATE") stop(“\”处理\“参数必须为null或长度为1或2”)中出现错误: 参数的长度为零。
任何帮助都将不胜感激。
发布于 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设置为查看所有成对差异。

https://stackoverflow.com/questions/55090202
复制相似问题