R语言入门——跳过错误执行代码

发布时间:2026/8/1 13:11:28
R语言入门——跳过错误执行代码 目录0、引言1、核心概念1.1、最简示例1.2、如何判断是否出错2、silent TRUE 的作用批量循环中跳过错误经典用法3、总结一句话记住0、引言本文给一个最简单、最直观的try()例子讲述其用法1、核心概念try()的作用就是“让代码出错了也别停下来继续往下跑”。1.1、最简示例# 没有用 try —— 出错会中断x-1/a# 报错二进列运算符中有非数值参数print(这行不会执行)# 用了 try —— 出错也不中断x-try(1/a,silentTRUE)# 出错但程序继续print(这行会执行)# 正常打印1.2、如何判断是否出错x-try(1/a,silentTRUE)# 用 inherits() 检查是不是错误对象if(inherits(x,try-error)){print(出错了我选择跳过这个计算)}else{print(paste(结果是,x))}2、silent TRUE的作用参数效果silent FALSE默认错误信息会打印到屏幕上silent TRUE错误信息不打印安静地返回错误对象一般建议设置为TRUE自己用inherits()控制显示更整洁。批量循环中跳过错误经典用法copula_list-c(N,F,C0,G0)results-list()for(iin1:length(copula_list)){fit-try(gjrm(y1y2~x1,datamydata,Copulacopula_list[i]),silentTRUE)if(!inherits(fit,try-error)){results[[i]]-fit cat(copula_list[i],成功\n)}else{cat(copula_list[i],失败跳过\n)results[[i]]-NULL# 记录为空}}# 只保留成功的模型successful_models-results[!sapply(results,is.null)]3、总结一句话记住try(可能出错的代码, silent TRUE)inherits(结果, try-error) 安全执行 灵活处理就这么简单其他所有复杂处理如tryCatch都是在try的基础上加更多控制但日常使用try()已经够用了。