You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R代码逐行运行正常,整块/脚本运行时报错问题求助

R脚本逐行运行正常但批量执行/编织PDF时报错

逐行运行以下R代码时无错误,但直接整块运行或编织RMD为PDF前执行整个脚本时,出现报错:

Error in rr[i] <- summary(sim(fit1, x = bf0, x1 = bf1))$qi.stats$rr[1]: replacement has length 0

已在循环步骤间打印结果并检查向量长度,未发现空值或长度为0的情况。相关代码如下:

fit1bm <- zelig(lula ~   bf + sexo + escola + renda2 + idade + region + 
                hdi.2000 + metropolitan + growth, 
                weights=matched.data$weights,model="logit",data=matched.data)
inc <- levels(matched.data$renda2) #need to refactor because one factor was dropped after rescaling (high income)
reg <- levels(matched.data$region)[2]
rr <- rr.p <-  pred.bf0 <- pred.bf1 <- sig <- vector(length=length(levels(matched.data$renda2)))
fd <- matrix(NA,ncol=4,nrow=length(rr))
for(i in 1:length(inc)){
    bf0 <- setx(fit1bm , bf=0, renda2=inc[i], region=reg)
    bf1 <- setx(fit1bm ,bf=1, renda2=inc[i], region=reg)
    out <- sim(fit1bm,x=bf0,x1=bf1)
    rr[i] <-summary(out)$qi.stats$rr[1]
    sig[i] <- summary(out)$qi.stats$rr[3]>1
    post.rr <- out$qi$rr
    rr.p[i] <- 2* (1-sum(post.rr>1)/1000) #two sided p-value
    pred.bf0[i] <-  mean(sim(fit1bm,x=bf0)$qi$ev)
    pred.bf1[i] <-  mean(sim(fit1bm,x=bf1)$qi$ev)
    fd[i,] <-  summary(out)$qi.stats$fd
    }
colnames(fd) <- colnames(summary(out)$qi.stats$fd)
ef <- cbind(pred.bf0,pred.bf1,rr,rr.p,sig)
rownames(ef) <- rownames(fd) <- inc
cat("Results for",reg,"controling for\n");print(fit1bm$call)
the.table <- cbind(table(tmp$renda2,tmp$bf),table(matched.data$renda2,matched.data$bf))[,c(3,1,4,2)]
the.table <- cbind(the.table,ef)
print(xtable(the.table,digits=c(0,0,0,0,0,2,2,2,3,0)))

内容的提问来源于stack exchange,提问作者Lisa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 04:26:15