【发布时间】:2021-08-31 16:55:16
【问题描述】:
我正在使用ltmle 和parallel 函数对远程集群上的许多估算数据帧列表运行分析。这是我的代码:
set.seed(500, kind = "L'Ecuyer-CMRG")
numcores <- future::availableCores()
cl <- parallel::makeCluster(numcores)
parallel:clusterEvalQ(cl, library(ltmle))
parallel:clusterEvalQ(cl, Avar <- c("var4", "var5", "var6")
parallel:clusterEvalQ(cl, Lvar <- c("var1", "var2", "var3")
parallel:clusterEvalQ(cl, Yvar <- c("var7", "var8")
parallel:clusterEvalQ(cl, wt <- c("weight")
list.of.imputed.dfs <- parallel:parLapply(cl = cl, list.of.imputed.dfs, function(x) {
Anodes = Avar,
Lnodes = Lvar,
Ynodes = Yvar,
survivaloutcome = T,
observation.weights = wt,
variance.method = "ic",
abar = list(c(1,1,1,1), c(0,0,0,0)))})
此代码在 observation.weights = wt, 被注释掉时运行,但当我按照上面的说明离开时给我一个错误。错误显示:
Error in checkForRemoteErrors(val) :
4 nodes produced errors: first error: observation.weights must be NULL or a vector of length nrow(data) with no NAs, no negative values, and at least one positive value
我在所有估算数据框中检查了我的权重变量的所有这些特征(所有这些特征都相同,因为在原始数据框中没有丢失权重)。我没有 NA,所有价值观都是积极的。我的权重变量的类是向量,我的值与list.of.imputed.dfs 中每个数据框的大小一样多。另外,权重变量是每个数据帧的第一个变量。
除了错误消息中的信息之外,我在上面编写代码的方式不起作用是否有某些原因?还是我在错误消息中遗漏了一些关键信息?
【问题讨论】:
标签: r analysis estimation longitudinal