全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
10704 2
2020-08-08
请问各位大神如何在某次循环报错后忽略这个错误,跳出这次循环继续下一次循环呢?
我的目的是计算不同区站号下,年份与日序的回归系数,因为有些回归结果是下面这种有缺失值的会报错,
                    Estimate Std. Error t value Pr(>|t|)
(Intercept)      178        NaN     NaN      NaN
查了些帖子加了能跳出循环的条件,
b <- unique(data0$区站号)
fit <- c()
for(i in 1:100){
  x<- subset(xs,xs$区站号==b
)
  x=as.data.frame(lapply(x,as.numeric))
  jg <- lm(x$日序~x$年)
  fit <- try(coef(summary(jg))[2,c(1,2,4)])
  if("try-error"%in% class(fit)){
    next
  } else
    {
  fit <- rbind(fit,c(b
,coef(summary(jg))[2,c(1,2,4)]))
  break
  }
}

但还是总是报错是什么原因呢?“In rbind(fit, c(b
, coef(summary(jg))[2, c(1, 2, 4)])) :
  number of columns of result is not a multiple of vector length (arg 1)”

附件列表
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-8-10 11:57:47
与try next无关,你循环前的fit和循环后的fit变量数不一样,后面的fit加了一列b所以报错。把try那行代码改一下,也加上变量b就好
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-8-11 17:01:34
llb_321 发表于 2020-8-10 11:57
与try next无关,你循环前的fit和循环后的fit变量数不一样,后面的fit加了一列b所以报错。把try那行代码改一 ...
好的,非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群