[R-es] Codigo Ineficiente

Marcuzzi, Javier Rubén javier.ruben.marcuzzi en gmail.com
Mie Ene 30 14:48:44 CET 2013


Pablo, por las dudas, al compilar me refiero a los ejemplos y
utilización del paquete:
compile {compiler}

Javier

El mié, 30-01-2013 a las 10:02 -0300, Pablo Andres Guzzi escribió:
> Hola, como estan?
> 
> Tengo que hacer una variable y la unica forma que encontre de hacerlo es
> con un bucle, lo cual hace que tarde muchisimo.
> 
> Para contextualizarlos, tengo una base de alertas(generadas por
> determinadas reglas). Yo hice un campo/variable que indica cuanto tiempo
> estuvo (una persona que monitorea estas alertas) sin mirar alertas. Este
> campo de llama demora. Ademas tengo un campo que tiene el tiempo en el que
> la alerta se vio, segundos_hta
> 
> Mi data frame se llama alertas_monitoreo. Las variables influyentes son:
> segundos: tiene el tiempo en segundos dia*24*60*60+hora*60*60+min*60+seg.
> Este tiempo indica el alta de la alerta, es decir cuando se genero la
> alerta.
> segundos_hta: tiene el tiempo en segundos
> dia*24*60*60+hora*60*60+min*60+seg. Este tiempo indica cuando se miro la
> alerta, es decir, cuando el muchacho de monitoreo tomo una accion sobre
> esta alerta.
> demora: tiene el tiempo en segundo que paso entre la accion de la alerta
> anterior y la actual.
> alerta: todos unos (1).
> 
> Finalmente, la variable que genero es, alertas_demora, que tiene las
> alertas que se generaron entre el intervalo de tiempo en el que la persona
> de monitoreo estuvo inactiva.
> 
> 
> n<-nrow(alertas_monitoreo)
> 
> for(i in 1:n) {
> #me quedo con el tiempo en el que la alerta fue revisada
>   t.i <- alertas_monitoreo$segundos_hta[i]
> #creo un objeto que contenga el tiempo entre la alerta anterior a esta y
> esta, campo demora.
>   intervalo<-alertas_monitoreo$demora[i]
>   t.ini <- t.i-intervalo   #creo el intervalo de tiempo
>   t.fin <- t.i
> 
> #me quedo con las alertas entre generadas
>   temp<-subset(alertas_monitoreo, segundos >= t.ini & segundos <= t.fin)
>   alertas<-sum(temp$alerta)
>   alertas_monitoreo$alertas_demora[i]<-alertas
>   print(paste("faltan ", n-i,sep=" "))
> }
> 
> 
> 
> 
> Abrazo
> 
> Pablo A. Guzzi
> guzzipa en gmail.com
> 
> 	[[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



Más información sobre la lista de distribución R-help-es