[R-es] Convertir eh hora

miguel.angel.rodriguez.muinos en sergas.es miguel.angel.rodriguez.muinos en sergas.es
Jue Mar 7 15:04:19 CET 2013


Hola Carlos.

Con mi propuesta sucede lo mismo....
Por lo que tampoco es la solución.

> HORA=c("1206","1854","054")
> hora=substr(strptime(HORA,format="%H%M"),12,16)
> hora
[1] "12:06" "18:54" "05:04"

Un saludo,
Miguel.





-----Mensaje original-----
De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Carlos Ortega
Enviado el: jueves, 07 de marzo de 2013 14:57
Para: daniel
CC: JC A; r-help-es en r-project.org
Asunto: Re: [R-es] Convertir eh hora

Hola,

Sí, tenéis razón...

Con parse_date_time(), aunque cerca, resuelve el problema con los meses de
ymd_hms() pero no el de los 054:

> parse_date_time(x, "%y%m%d %H%M")
 3 parsed with %Y%m%d             %H%M
[1] "2012-10-07 12:06:00 UTC" "2011-06-22 18:54:00 UTC" "2011-06-23 05:04:00 UTC"

Saludos,
Carlos.


El 7 de marzo de 2013 14:35, daniel <daniel319 en gmail.com> escribió:

> Creo que falta algo en la función de lubridate
>
> ymd_hms(x, truncated=3)
>
>
> Pero aún así no se si resuelve lo que quiere JC A en cuando a si
> '20110623             054'  es
> 2012-06-23 00:54  o
> 2012-06-23 05:04
>
> Daniel Merino
>
>
> El día 7 de marzo de 2013 10:29, Jorge I Velez
> <jorgeivanvelez en gmail.com> escribió:
> > Gracias, Carlos.   Estaba a punto de mencionar esa funcion, pero no creo
> que
> > realice lo que Daniel necesita.  Por ejemplo la primera entrada de x
> > es
> > "20121007  1206"  y con lubridate el resultado es 2020-12-10  07:12:06.
>  Es
> > claro que algo no esta bien.   --JIV
> >
> >
> > 2013/3/8 Carlos Ortega <cof en qualityexcellence.es>
> >>
> >> Hola,
> >>
> >> Otra opción es con el paquete "lubridate". Con la función "ymd_hms()"
> que
> >> prueba varias opciones hasta encontrar la recurrencia del formato.
> >>
> >> Con solo una función se resuelve:
> >>
> >> > library(lubridate)
> >> > x <- c('20121007             1206', '20110622             1854',
> >> +        '20110623             054')
> >> >
> >> > ymd_hms(x)
> >>  3 parsed with %y%m%d%H             %M%S
> >> [1] "2020-12-10 07:12:06 UTC" "2020-11-06 22:18:54 UTC" "2020-11-06
> >> 23:05:04 UTC"
> >>
> >> Saludos,
> >> Carlos Ortega
> >> www.qualityexcellence.es
> >>
> >>
> >>
> >>
> >>
> >> El 7 de marzo de 2013 13:48, daniel <daniel319 en gmail.com> escribió:
> >>
> >> > Primero fijate si los datos respetan el ejemplo que enviastes
> >> > (lugar de los años, meses, dias, horas y minutos, en especial la
> >> > cantidad de dígitos para cada uno, para modificar la función si
> >> > es necesario. A diferencia de Miguel supongo que en el ejemplo
> >> > donde hora:minuto es 054, lo que representa es 0 horas y 54
> >> > minutos, si mi interpretación es incorrecta la solución de Miguel
> >> > es la correcta..Si alguien puede contribuir con algo más genérico
> >> > se agradecerá, pero para empezar esta es mi contribución
> >> >
> >> >
> >> > x <- c('20121007             1206', '20110622             1854',
> >> > '20110623             054')
> >> >
> >> > tiempo <- function(x) {
> >> > xF <- as.POSIXlt( strptime(x, '%Y%m%d %H%M')) xT <- as.POSIXlt(
> >> > strptime( paste(substr(x, 1, max(gregexpr(" ", x)[[1]])), 0,
> >> > substr(x,max(gregexpr(" ", x)[[1]])+1,nchar( x)), sep=""),
> >> > '%Y%m%d %H%M')) if((nchar(x)-max(gregexpr(" ", x)[[1]])) == 3) xT
> >> > else xF }
> >> >
> >> > lapply(x, tiempo)
> >> >
> >> > Daniel Merino
> >> >
> >> >
> >> >
> >> > El día 7 de marzo de 2013 09:04, JC A <j_arronte en hotmail.com>
> escribió:
> >> > >
> >> > >
> >> > >
> >> > > Hola a tod en s,
> >> > >
> >> > > Me han mandado una base de datos y al abrirla me he encontrado
> >> > > con
> la
> >> > fecha y la hora en el siguiente formato:
> >> > >
> >> > >
> >> > >
> >> > > FECHA                  HORA
> >> > >
> >> > > 20121007             1206
> >> > >
> >> > > 20110622             1854
> >> > >
> >> > > 20110623             054
> >> > >
> >> > >
> >> > > He conseguido que la Fecha me quedara en el formato dd/mm/aaaa
> >> > > mediante
> >> > el script
> >> > >
> >> > > db[, "FECHA"] <- as.Date(as.character(db[, "FECHA"]),format =
> >> > > "%Y%m%d")
> >> > > Sin embargo, con la hora todavía no he dado con la forma. Se me
> >> > > está
> >> > pasando algo por alto y no doy con ello
> >> > >
> >> > > ¿Alguna idea?
> >> > >
> >> > > Un saludo y Gracias
> >> > >
> >> > > Juan Carlos
> >> > >
> >> > >
> >> > > ***************************************
> >> > > Si las cuerdas del trapecio las corté fue para subir y atarlas
> >> > > y ver a la luna otra vez.
> >> > > Y volverlas a cortar una y mil veces y boquear como los peces
> >> > > cuando les toca perder.
> >> > >
> >> > >
> >> > >         [[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
> >> > >
> >> >
> >> >
> >> >
> >> > --
> >> > Daniel
> >> >
> >> > _______________________________________________
> >> > 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]]
> >>
> >>
> >> _______________________________________________
> >> R-help-es mailing list
> >> R-help-es en r-project.org
> >> https://stat.ethz.ch/mailman/listinfo/r-help-es
> >>
> >
>
>
>
> --
> Daniel
>



--
Saludos,
Carlos Ortega
www.qualityexcellence.es

        [[alternative HTML version deleted]]


Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada.

Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada.

See more languages: http://www.sergas.es/aviso_confidencialidad.htm



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