在循环内捕获函数失败

时间:2014-08-14 03:30:07

标签: r loops

我试图在R中的循环中捕获函数的失败。我想返回NA并继续执行循环。

函数glm.nb在j = 1328,i = 1时失败,此后填充所有MLEb_d0MLEb_d1个缺失值的广告位。

我想抓住错误,同时返回MLEb_d0MLEb_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] 
      }
}

0 个答案:

没有答案