[R-es] Convertir eh hora

daniel daniel319 en gmail.com
Jue Mar 7 14:35:41 CET 2013


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



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