楼主: ludu0712
10817 2

[问答] R语言如何跳过某次循环中的错误继续下一次循环 [推广有奖]

  • 0关注
  • 0粉丝

本科生

3%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0228
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
232 点
帖子
22
精华
0
在线时间
103 小时
注册时间
2020-4-13
最后登录
2021-8-18

楼主
ludu0712 发表于 2020-8-8 15:58:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请问各位大神如何在某次循环报错后忽略这个错误,跳出这次循环继续下一次循环呢?
我的目的是计算不同区站号下,年份与日序的回归系数,因为有些回归结果是下面这种有缺失值的会报错,
                    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)”

二维码

扫码加我 拉你入群

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

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

关键词:R语言 Intercept estimate Error value R语言

搜狗截图20年08月08日1548_1.png (6.85 KB)

搜狗截图20年08月08日1548_1.png

沙发
llb_321 在职认证  发表于 2020-8-10 11:57:47
与try next无关,你循环前的fit和循环后的fit变量数不一样,后面的fit加了一列b所以报错。把try那行代码改一下,也加上变量b就好

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

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-28 13:28