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
相关产品推荐
相关产品推荐

