Hola,

Mira esta referencia sobre cómo usar "tryCatch()":

http://www.win-vector.com/blog/2012/10/error-handling-in-r/

Saludos,
Carlos Ortega

El 28 de mayo de 2015, 10:50, Sergio Castro <
[email protected]> escribió:

> Buenos días,
>
> Quiero hacer una función con un "if", que si devuelve un error dentro
> de él se pare la ejecución de la función devolviendo un valor. El
> código que tengo, para las pruebas, es el siguiente:
>
> prueba<-function(a){
> b<-"no ha hecho stop"
> c<-"hago el stop"
> if(a<3){
> variable<-"hola"
> tryCatch({
> write("entro en el tryCatch","")
> d<-variable*3
> },error=function(e){
> return(c)
> stop(write("ha dado error",""))
> })
> }else{
> b<-a*a*a
> }
> return (b)
> }
>
> prueba(2)
>
> La salida que me devuelve R por pantalla es:
>
> entro en el tryCatch
> [1] "no ha hecho stop"
>
> Cuando la que yo quiero es:
>
> entro en el tryCatch
> ha dado error
> [1] "hago el stop"
>
> Es decir que me saque por pantalla el mensaje que tengo en el stop y
> que la salida de la función sea la variable c.
>
> Muchas gracias por vuestra ayuda.
>
> Un saludo
>
> _______________________________________________
> R-help-es mailing list
> [email protected]
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a