He encontrado la respuesta. EL ejemplo que puse era trivial, ya que es obvio que if(i ==0) entonces next, pero me referia a sin saber si va a ser error el modelo o no. Para esto he encontrado la solución for(i in -3:3){ tryCatch({ z<-1/i> z<-z*z > modelo<-lm(z~1)}, error=function(e){print("es un error"}) } Gracias de todas maneras!!!!! Jesús ________________________________ De: R-help-es <r-help-es-bounces en r-project.org> en nombre de Javier Marcuzzi <javier.ruben.marcuzzi en gmail.com> Enviado: lunes, 12 de junio de 2017 14:48 Para: Xavi tibau alberdi; Guillermo.Vinue en uv.es Cc: Lista R Asunto: Re: [R-es] Bucle for que se salte los errores Case también podría ir, en realidad cualquier función de condicional, hay algo de gusto personal también (yo prefiero if). Javier Rubén Marcuzzi De: Xavi tibau alberdi Enviado: lunes, 12 de junio de 2017 9:46 Para: Guillermo.Vinue en uv.es CC: Lista R Asunto: Re: [R-es] Bucle for que se salte los errores Otra opcio es no incluir en 0 For (i in c(-2,-1,1,2) El 12 jun. 2017 14:43, <Guillermo.Vinue en uv.es> escribió: Hola, Creo que sería añadir if(i == 0) next Saludos, Guillermo> Buenas, ?como puedo hacer que el bucle for se salte el error que saltacuando i<-0 en el codigo que paso??> > > > count <- 0 > for(i in -2:2){ > z<-1/i > z<-z*z > modelo<-lm(z~1) > } > > > Gracias > > > > > > [[alternative HTML version deleted]] > >_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es Página de Información de R-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> stat.ethz.ch Esta es una lista de correo para solicitar ayuda sobre R en español y se entiende como un complemento social a la documentación, libros, etc. disponibles sobre R ... [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es Página de Información de R-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> stat.ethz.ch Esta es una lista de correo para solicitar ayuda sobre R en español y se entiende como un complemento social a la documentación, libros, etc. disponibles sobre R ... [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es Página de Información de R-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> stat.ethz.ch Esta es una lista de correo para solicitar ayuda sobre R en español y se entiende como un complemento social a la documentación, libros, etc. disponibles sobre R ... [[alternative HTML version deleted]]
Estimado Jesús Para Fernández Pero no es lo mismo, usted pidió para cuándo i vale 0, el tryCatch es para todos los casos en donde no se puede porque hay un error, justo coloco en el buscador la definición para compartirla y encuentro un ejemplo muy apropiado. # tryCatch.Rscript -- experiments with tryCatch # Get any arguments arguments <- commandArgs(trailingOnly=TRUE) a <- arguments[1] # Define a division function that can issue warnings and errors myDivide <- function(d, a) { if (a == 'warning') { return_value <- 'myDivide warning result' warning("myDivide warning message") } else if (a == 'error') { return_value <- 'myDivide error result' stop("myDivide error message") } else { return_value = d / as.numeric(a) } return(return_value) } # Evalute the desired series of expressions inside of tryCatch result <- tryCatch({ b <- 2 c <- b^2 d <- c+2 if (a == 'suppress-warnings') { e <- suppressWarnings(myDivide(d,a)) } else { e <- myDivide(d,a) # 6/a } f <- e + 100 }, warning = function(war) { # warning handler picks up where error was generated print(paste("MY_WARNING: ",war)) b <- "changing 'b' inside the warning handler has no effect" e <- myDivide(d,0.1) # =60 f <- e + 100 return(f) }, error = function(err) { # error handler picks up where error was generated print(paste("MY_ERROR: ",err)) b <- "changing 'b' inside the error handler has no effect" e <- myDivide(d,0.01) # =600 f <- e + 100 return(f) }, finally = { print(paste("a =",a)) print(paste("b =",b)) print(paste("c =",c)) print(paste("d =",d)) # NOTE: Finally is evaluated in the context of of the inital # NOTE: tryCatch block and 'e' will not exist if a warning # NOTE: or error occurred. #print(paste("e =",e)) }) # END tryCatch print(paste("result =",result)) Javier Rubén Marcuzzi De: Jesús Para Fernández Enviado: lunes, 12 de junio de 2017 9:57 Para: Javier Marcuzzi; Xavi tibau alberdi; Guillermo.Vinue en uv.es CC: Lista R Asunto: Re: [R-es] Bucle for que se salte los errores He encontrado la respuesta. EL ejemplo que puse era trivial, ya que es obvio que if(i ==0) entonces next, pero me referia a sin saber si va a ser error el modelo o no. Para esto he encontrado la solución for(i in -3:3){ tryCatch({ z<-1/i> z<-z*z > modelo<-lm(z~1)}, error=function(e){print("es un error"}) } Gracias de todas maneras!!!!! Jesús De: R-help-es <r-help-es-bounces en r-project.org> en nombre de Javier Marcuzzi <javier.ruben.marcuzzi en gmail.com> Enviado: lunes, 12 de junio de 2017 14:48 Para: Xavi tibau alberdi; Guillermo.Vinue en uv.es Cc: Lista R Asunto: Re: [R-es] Bucle for que se salte los errores Case también podría ir, en realidad cualquier función de condicional, hay algo de gusto personal también (yo prefiero if). Javier Rubén Marcuzzi De: Xavi tibau alberdi Enviado: lunes, 12 de junio de 2017 9:46 Para: Guillermo.Vinue en uv.es CC: Lista R Asunto: Re: [R-es] Bucle for que se salte los errores Otra opcio es no incluir en 0 For (i in c(-2,-1,1,2) El 12 jun. 2017 14:43, <Guillermo.Vinue en uv.es> escribió: Hola, Creo que sería añadir if(i == 0) next Saludos, Guillermo> Buenas, ?como puedo hacer que el bucle for se salte el error que saltacuando i<-0 en el codigo que paso??> > > > count <- 0 > for(i in -2:2){ > z<-1/i > z<-z*z > modelo<-lm(z~1) > } > > > Gracias > > > > > > [[alternative HTML version deleted]] > >_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es Página de Información de R-help-es stat.ethz.ch Esta es una lista de correo para solicitar ayuda sobre R en español y se entiende como un complemento social a la documentación, libros, etc. disponibles sobre R ... [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es Página de Información de R-help-es stat.ethz.ch Esta es una lista de correo para solicitar ayuda sobre R en español y se entiende como un complemento social a la documentación, libros, etc. disponibles sobre R ... [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es Página de Información de R-help-es stat.ethz.ch Esta es una lista de correo para solicitar ayuda sobre R en español y se entiende como un complemento social a la documentación, libros, etc. disponibles sobre R ... ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170612/02ab9e7b/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 55D2C39386BA42C4A61D52F464E9635B.png Type: image/png Size: 158 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170612/02ab9e7b/attachment-0001.png>
Sí, igual no me expresé de la mejor manera posible. Gracias!!! ________________________________ De: Javier Marcuzzi <javier.ruben.marcuzzi en gmail.com> Enviado: lunes, 12 de junio de 2017 15:05 Para: Jesús Para Fernández; Xavi tibau alberdi; Guillermo.Vinue en uv.es Cc: Lista R Asunto: RE: [R-es] Bucle for que se salte los errores Estimado Jesús Para Fernández Pero no es lo mismo, usted pidió para cuándo i vale 0, el tryCatch es para todos los casos en donde no se puede porque hay un error, justo coloco en el buscador la definición para compartirla y encuentro un ejemplo muy apropiado. # tryCatch.Rscript -- experiments with tryCatch # Get any arguments arguments <- commandArgs(trailingOnly=TRUE) a <- arguments[1] # Define a division function that can issue warnings and errors myDivide <- function(d, a) { if (a == 'warning') { return_value <- 'myDivide warning result' warning("myDivide warning message") } else if (a == 'error') { return_value <- 'myDivide error result' stop("myDivide error message") } else { return_value = d / as.numeric(a) } return(return_value) } # Evalute the desired series of expressions inside of tryCatch result <- tryCatch({ b <- 2 c <- b^2 d <- c+2 if (a == 'suppress-warnings') { e <- suppressWarnings(myDivide(d,a)) } else { e <- myDivide(d,a) # 6/a } f <- e + 100 }, warning = function(war) { # warning handler picks up where error was generated print(paste("MY_WARNING: ",war)) b <- "changing 'b' inside the warning handler has no effect" e <- myDivide(d,0.1) # =60 f <- e + 100 return(f) }, error = function(err) { # error handler picks up where error was generated print(paste("MY_ERROR: ",err)) b <- "changing 'b' inside the error handler has no effect" e <- myDivide(d,0.01) # =600 f <- e + 100 return(f) }, finally = { print(paste("a =",a)) print(paste("b =",b)) print(paste("c =",c)) print(paste("d =",d)) # NOTE: Finally is evaluated in the context of of the inital # NOTE: tryCatch block and 'e' will not exist if a warning # NOTE: or error occurred. #print(paste("e =",e)) }) # END tryCatch print(paste("result =",result)) Javier Rubén Marcuzzi De: Jesús Para Fernández<mailto:j.para.fernandez en hotmail.com> Enviado: lunes, 12 de junio de 2017 9:57 Para: Javier Marcuzzi<mailto:javier.ruben.marcuzzi en gmail.com>; Xavi tibau alberdi<mailto:xavitibau en gmail.com>; Guillermo.Vinue en uv.es<mailto:Guillermo.Vinue en uv.es> CC: Lista R<mailto:r-help-es en r-project.org> Asunto: Re: [R-es] Bucle for que se salte los errores He encontrado la respuesta. EL ejemplo que puse era trivial, ya que es obvio que if(i ==0) entonces next, pero me referia a sin saber si va a ser error el modelo o no. Para esto he encontrado la solución for(i in -3:3){ tryCatch({ z<-1/i> z<-z*z > modelo<-lm(z~1)}, error=function(e){print("es un error"}) } Gracias de todas maneras!!!!! Jesús De: R-help-es <r-help-es-bounces en r-project.org> en nombre de Javier Marcuzzi <javier.ruben.marcuzzi en gmail.com> Enviado: lunes, 12 de junio de 2017 14:48 Para: Xavi tibau alberdi; Guillermo.Vinue en uv.es Cc: Lista R Asunto: Re: [R-es] Bucle for que se salte los errores Case también podría ir, en realidad cualquier función de condicional, hay algo de gusto personal también (yo prefiero if). Javier Rubén Marcuzzi De: Xavi tibau alberdi Enviado: lunes, 12 de junio de 2017 9:46 Para: Guillermo.Vinue en uv.es CC: Lista R Asunto: Re: [R-es] Bucle for que se salte los errores Otra opcio es no incluir en 0 For (i in c(-2,-1,1,2) El 12 jun. 2017 14:43, <Guillermo.Vinue en uv.es> escribió: Hola, Creo que sería añadir if(i == 0) next Saludos, Guillermo> Buenas, ?como puedo hacer que el bucle for se salte el error que saltacuando i<-0 en el codigo que paso??> > > > count <- 0 > for(i in -2:2){ > z<-1/i > z<-z*z > modelo<-lm(z~1) > } > > > Gracias > > > > > > [[alternative HTML version deleted]] > >_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es Página de Información de R-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> stat.ethz.ch Esta es una lista de correo para solicitar ayuda sobre R en español y se entiende como un complemento social a la documentación, libros, etc. disponibles sobre R ... [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es Página de Información de R-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> stat.ethz.ch Esta es una lista de correo para solicitar ayuda sobre R en español y se entiende como un complemento social a la documentación, libros, etc. disponibles sobre R ... [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es Página de Información de R-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> stat.ethz.ch Esta es una lista de correo para solicitar ayuda sobre R en español y se entiende como un complemento social a la documentación, libros, etc. disponibles sobre R ... ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170612/558020fa/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 55D2C39386BA42C4A61D52F464E9635B.png Type: image/png Size: 158 bytes Desc: 55D2C39386BA42C4A61D52F464E9635B.png URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170612/558020fa/attachment-0001.png>