[R-es] Añadir filas hasta que se acabe un proceso
Carlos Ortega
cof en qualityexcellence.es
Lun Nov 6 22:28:46 CET 2017
Hola,
Esta sería una forma...
> Lines <-"
+ proceso fecha_inicio hora_inicio fecha_fin hora_fin
+ 1 2017/05/01 10:00 2017/05/01 14:00
+ 2 2017/05/01 11:00 2017/05/01 12:00
+ 3 2017/05/01 09:00 2017/05/01 15:00
+ "
>
> DF <- read.table(textConnection(Lines), header = TRUE)
>
> library(lubridate)
> DF$fechahora_ini <- ymd_hm(paste(DF$fecha_inicio, DF$hora_inicio, sep ="
"))
> DF$fechahora_end <- ymd_hm(paste(DF$fecha_fin, DF$hora_fin, sep =" "))
>
> df_ini <- data.frame(proc = DF$proceso, fechour = DF$fechahora_ini)
> df_end <- data.frame(proc = DF$proceso, fechour = DF$fechahora_end)
>
> library(dplyr)
> df_end <- bind_rows(df_ini, df_end) %>% arrange(fechour)
> df_end
proc fechour
1 3 2017-05-01 09:00:00
2 1 2017-05-01 10:00:00
3 2 2017-05-01 11:00:00
4 2 2017-05-01 12:00:00
5 1 2017-05-01 14:00:00
6 3 2017-05-01 15:00:00
>
Gracias,
Carlos Ortega
www.qualityexcellence.es
El 6 de noviembre de 2017, 22:04, jose luis via R-help-es <
r-help-es en r-project.org> escribió:
> Hola¿qué te parece así?
>
> library (tidyr)
> datos1<-gather(datos, "tipo_fecha", "Fecha",2:3)
> > head (datos1) proceso. tipo_fecha Fecha1 1
> fecha.inico 01/05/2017 10:00 2 2 fecha.inico
> 01/05/2017 11:00 3 3 fecha.inico 01/05/2017 9:00 4
> 1 fecha.fin 25/05/2017 14:005 2 fecha.fin
> 25/05/2017 : 12:006 3 fecha.fin 25/05/2017 :15:00
>
> El Lunes 6 de noviembre de 2017 13:23, Jesús Para Fernández <
> j.para.fernandez en hotmail.com> escribió:
>
>
> Gracias a todos
>
> Isidro, para esa solucion que planteas voy a complementarla con las
> fucniones de lubridate interval y %within%.
>
> Un saludo
> Jesús
>
>
> ________________________________
> De: Isidro Hidalgo Arellano <ihidalgo en jccm.es>
> Enviado: lunes, 6 de noviembre de 2017 13:06
> Para: 'Jesús Para Fernández'; r-help-es en r-project.org
> Asunto: RE: [R-es] Añadir filas hasta que se acabe un proceso
>
> Monta una función cuyo input sea una hora determinada y que te cuente los
> procesos activos para esa hora (suma de columna hora de inicio mayor o
> igual que input, y a la vez columna hora de finalización menor que input).
> Monta la función para que el output sea un número.
> Finalmente lanza un sapply con argumentos "las horas que te interesen" y
> la función que has montado previamente.
> Un saludo
>
> Isidro Hidalgo Arellano
> Observatorio del Mercado de Trabajo
> Consejería de Economía, Empresas y Empleo
> http://www.castillalamancha.es/
>
>
>
> -----Mensaje original-----
> De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de Jesús
> Para Fernández
> Enviado el: lunes, 06 de noviembre de 2017 12:37
> Para: r-help-es en r-project.org
> Asunto: [R-es] Añadir filas hasta que se acabe un proceso
>
> Buenas,
>
> Supongamos que tengo un data.frame con la siguietne forma:
>
> proceso fecha inicio fecha fin
> 1 2017/05/01 10:00 2017/05/01 14:00
> 2 2017/05/01 11:00 2017/05/01 12:00
> 3 2017/05/01 09:00 2017/05/01 15:00
>
> Lo que quiero es trasnformar el data.frame en un data.frame que tenga la
> siguiente estructura
>
> Fecha procesosActivos
> 2017/05/01 09:00 1
> 2017/05/01 10:00 2
> 2017/05/01 11:00 3
> 2017/05/01 12:00 2
> 2017/05/01 13:00 2
> 2017/05/01 14:00 1
> 2017/05/01 15:00 0
>
> Se como hacerlo, pero a base d ebucles for y de manera poco eficiente. �Se
> os ocure alguna manera mas eficiente para hacerlo?
>
> Gracias
> Jes�s
>
>
>
>
> [[alternative HTML version deleted]]
>
>
>
> [[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
>
>
> [[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
>
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es