Estimado Javier Villacampa González

No sabía el uso de la palabra farragoso, entonces consulte (adj. Confuso 
por tener muchas cosas desordenadas o superfluas:) , bueno, que poder 
decir, by, if, for, no conozco todos los lenguajes de programación pero 
casi podría pensar que en todos los conficionales usan estos recursos, 
yo entendí el código, se podría mejorar, optimizar, pero ¿si funciona 
como uno lo piensa y la computadora lo "piensa" igual, para que 
complicarse la vida?

¿Confuso?, yo lo entendí, ¿desordenado?, los condicionales tienen lógica 
que yo comprendí, ¿útil?, hace lo que necesita.

Es mi pensamiento, como también sería muy bueno que sobre lo que usted 
comparte aparezcan mejoras de otras personas.

Javier Marcuzzi

El 16/01/2014 07:22 a.m., Javier Villacampa González escribió:
> Hola buenos días,
>
> ahora mismo estaba haciendo una función para quitar outlier por condición.
> Pero lo cierto es que aunque la función consigue quitarlos creo que me ha
> quedad bastante farragoso. Os dejo el codigo y si me dais algún consejo
> para mejorarlo mejor que mejor. Mcuhas gracias
>
>
> #############################################################.
> # Ojo este script puede instalarte librerias que no quieres
>
> if(!require(ez)){
>    install.packages("ez")
> }
> require(ez)
> data(ANT)
>
> ANT$Factor <-# Crear el factor para quitar los outliers
>    interaction(ANT$cue, ANT$flank, ANT$location)
>
> y <- ANT$rt # save original data
> x <-  # save non outliers by condition
>    by( data= ANT ,INDICES= ANT$Factor,FUN= function(x){
>      print(x$Factor[1])
>
>      if(length( x[ abs(scale(x$rt))> qnorm(0.975) & !is.na(x$rt) , ]$rt ) >
> 1){
>        x[ abs(scale(x$rt))> qnorm(0.975) & !is.na(x$rt), ]$rt <- NA # Quita
> los outliers que se van por encima de 2.5% en valor absoluto
>        x$rt
>      }else{
>        x$rt
>      }
>    }
>    )
> x
> for(i in levels(ANT$Factor)){
>    ANT[ ANT$Factor == i,]$rt <-
>      as.vector(x[[i]])
> }
>
> ANT$rt <- as.numeric(ANT$rt)
> ANT$rtOriginal <- y
>
> rm(x,y)
>
>
> head(ANT, 15)
>
> # El valor 14 es un otulier no muy extremo pero lo es.
> --
>
> 	[[alternative HTML version deleted]]
>
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es


	[[alternative HTML version deleted]]

