问题描述
我收到错误消息“ clean(simResult)中的错误:结果对象中的所有复制未收敛。因此,无法使用结果对象。”我已经尝试过R版本4.0.2和4.0.3。我调高了复制数量并更改了效果大小,但遇到了同样的错误。下面是参考代码。我不确定这是本地错误还是“ simsem”软件包有问题,有什么想法吗?
effectSizes <- c(.1,.3,.5)
modelEffects <- expand.grid(effectSizes,effectSizes,effectSizes)
names(modelEffects) <- c('a','b','c')
models <- modelEffects %>%
rowwise() %>%
do({
genModel <- paste0('# direct effect
Y ~ ',.$c,'*X
# mediator
M ~ ',.$a,'*X
Y ~ ',.$b,'*M
X ~~ 1*X
Y ~~ 1*Y
M ~~ 1*M
')
testModel <-'# direct effect
Y ~ c*X
# mediator
M ~ a*X
Y ~ b*M
# indirect effect (a*b)
ab := a*b
# total effect
total := c + (a*b)
'
data.frame(a=.$a,b=.$b,c=.$c,gen=genModel,test=testModel,stringsAsFactors=F)
})
#############################################################################
REDOSims=T #Set REDOSims = T for the first time executing and F for future iterations.
if(REDOSims){
allModelPowerSim <- models %>%
rowwise() %>%
do({
manySims <- sim(NULL,model=.$test[1],n=50:700,generate=.$gen[1],lavaanfun='sem',multicore=T)
data_frame(a=.$a,powersims=list(manySims))
})
#save the above
saveRDS(allModelPowerSim,'power_simulations.RDS')
} else {
#load the above
allModelPowerSim <- readRDS('power_simulations.RDS')
}
################################################################################
powerData <- allModelPowerSim %>% rowwise() %>%
do({
aSimPower <- as.data.frame(getPower(.$powersims,nVal=seq(50,700,5),powerParam='ab'))
data_frame(a=.$a,alab=paste0('a=',.$a),blab=paste0('b=',.$b),clab=paste0('c=',.$c),N=aSimPower[,1],ab=aSimPower[,2])
})
print(powerData)
clean(simResult)中的错误:结果对象中的所有复制都不收敛。因此,结果对象无法使用。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)