[R-es] Campo Fecha y paquete openair

daniel daniel319 en gmail.com
Jue Sep 25 17:00:58 CEST 2014


Eduardo,

Me parece que el problema es el locale para TIME y la interpretación de %p,
para no tener ese problema lo que tengo que hacer en mi caso es cambiar
LC_TIME:

> Sys.getlocale()
[1]
"LC_COLLATE=Spanish_Argentina.1252;LC_CTYPE=Spanish_Argentina.1252;LC_MONETARY=Spanish_Argentina.1252;LC_NUMERIC=C;LC_TIME=Spanish_Argentina.1252"
> Sys.setlocale("LC_TIME", "C")
[1] "C"
> strptime("19/02/2014 12:42 pm", format = "%d/%m/%Y %I:%M %p", tz="")
[1] "2014-02-19 12:42:00 ART"
> Sys.setlocale("LC_TIME", "C")
[1] "C"
>

Ten en cuenta que como dice el help de strptime que la clave %p se tiene
que usar con %I y no con %H.

Espero te sirva.

Daniel Merino

El 25 de septiembre de 2014, 11:18, Carlos Ortega <cof en qualityexcellence.es>
escribió:

> Hola Eduardo,
>
> He trabajado con el paquete Openair y para las fechas lo que hice fue
> convertirlas con la función "ymd_hms()" del paquete "lubridate".
>
> La clase resultante debiera ser la misma que consigues con as.Date() y con
> strptime(), lo miraré, pero en el mientras tanto prueba esta alternativa y
> nos comentas si el problema desaparece.
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
> El 25 de septiembre de 2014, 16:08, Eduardo Bieñkowski <edukoski en gmail.com
> >
> escribió:
>
> > Estoy trabajando con el paquete openair y leyendo los datos desde un CSV.
> > Entre los campos que estoy levantando existe uno con el formato
> dd/mm/YYYY
> > hh:mm por ejemplo:
> >
> > 19/02/2014 12:42 pm
> >
> > Cuando quiero consultar por fechas con las funciones del paquete openair
> > datoscont10<-selectByDate(dato$actualizado, start="01/03/2014",
> > end="09/09/2014")
> >
> > me lista el siguiente mensaje:
> > Error en as.Date.default(date) :  do not know how to convert 'date' to
> > class “Date”
> >
> > Si trato de transformar a fecha el campo levantado con cualquiera de las
> > siguientes sentencias eme sigue dando el mismo error a pesar que el
> objeto
> > date paso a ser en el caso 1 de clase DATE y en el caso 2 de clase
> POSIXit
> >
> > #opcion 1
> > date <- as.Date(dato$actualizado, "%d/%m/%Y %H:%M")
> > class(date)
> > [1] "Date"
> >
> > #opcion 2
> > date <- strptime(dato$actualizado,format="%d/%m/%Y")
> > class(date)
> > [1] "POSIXlt" "POSIXt"
> >
> > Alquien se ha topado con este error, he buscado en varios sitios y no le
> he
> > podido solucionar.
> >
> > Saludos
> >
> > --
> > Eduardo
> >
> >         [[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]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Daniel

	[[alternative HTML version deleted]]



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