我们知道无论是java和python都有错误处理机制,java是try。。。catch之类的形式,python是try。。。except的形式,这种抓错的形式是很好的,在R中也有类似的东西,那就是tryCatch函数,刚刚开始是不知道,后来把R机器学习实战那本书的代码写了一遍才知道,具体看看怎么用的把: (1)抓取错误 tryCatch(libray(xx),error=function(e){print("出现错误")} ) 结果: [1] "出现错误" 当xx包出现错误时候就会执行error函数 ,把error的结果执行出来 (2)抓取错误和警告 tryCatch(libray(xx),warning = function(w){print("出现警告")}, error=function(e){print("出现错误")} ) (3)finally最后都会执行,跟python和java类似 tryCatch(libray(xx),warning = function(w){print("出现警告")}, error=function(e){print("出现错误")}, finally={ print("导入ggplot2包") library(ggplot2) } ) 这个函数还是蛮试用的,自己写好的代码要放到别人机器上去执行,就会出现别人机器上缺包的情况,R软件不像sas那样是商业软件,东西都统一封装的,这个可能也是R的弊病把。。。总之这个函数用处具多,其余的留给你们想象去。。。。。。我们知道无论是java和python都有错误处理机制,java是try。。。catch之类的形式,python是try。。。except的形式,这种抓错的形式是很好的,在R中也有类似的东西,那就是tryCatch函数,刚刚开始是不知道,后来把R机器学习实战那本书的代码写了一遍才知道,具体看看怎么用的把: (1)抓取错误 tryCatch(libray(xx),error=function(e){print("出现错误")} ) 结果: [1] "出现错误" 当xx包出现错误时候就会执行error函数 ,把error的结果执行出来 (2)抓取错误和警告 tryCatch(libray(xx),warning = function(w){print("出现警告")}, error=function(e){print("出现错误")} ) (3)finally最后都会执行,跟python和java类似 tryCatch(libray(xx),warning = function(w){print("出现警告")}, error=function(e){print("出现错误")}, finally={ print("导入ggplot2包") library(ggplot2) } ) 这个函数还是蛮试用的,自己写好的代码要放到别人机器上去执行,就会出现别人机器上缺包的情况,R软件不像sas那样是商业软件,东西都统一封装的,这个可能也是R的弊病把。。。总之这个函数用处具多,其余的留给你们想象去。。。。。。 |
|