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@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@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@hotmail.com> escribió:
> > >
> > >
> > >
> > > Hola a tod@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@r-project.org
> > > https://stat.ethz.ch/mailman/listinfo/r-help-es
> > >
> >
> >
> >
> > --
> > Daniel
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es@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@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>

	[[alternative HTML version deleted]]

