我试图在R中的循环中捕获函数的失败。我想返回NA
并继续执行循环。
函数glm.nb
在j = 1328,i = 1时失败,此后填充所有MLEb_d0
和MLEb_d1
个缺失值的广告位。
我想抓住错误,同时返回MLEb_d0
和MLEb_d1
,然后转到
j = 1329正确:
# Now get MLE parametric bootstrap solutions, matching the TMM
#-----------------------------------------------------------------
require(foreign)
require(ggplot2)
require(MASS)
MLEb_d0 <- matrix(nrow=2000, ncol=500)
MLEb_d1 <- matrix(nrow=2000, ncol=500)
for (i in 1:2){
yy <- as.matrix(sample[[i]])
for(j in 1:2000){
yyy1 <- as.vector(yy[j,])
yv <- cbind(yyy1,TMM, design_tdDESeq);
yv <- as.data.frame(yv)
m <- summary(m1 <- glm.nb(yyy1 ~ -1 + timed0 + timed1
+ p1 + p2 + p3 + p4 + p5 + p6
+ p7 + p8 + p9 + p10 + p11 + p12
+ p13 + p14 + p15, data = yv, offset(TMM)))
MLEb_d0[j,i] <- m$coefficients[1,4]
MLEb_d1[j,i] <- m$coefficients[2,4]
}
}