[R-es] Conversión de datos a fechas

Carlos Ortega cof en qualityexcellence.es
Vie Dic 30 11:05:50 CET 2016


Hola,

Con esto de las fechas, la verdad es que hay múltiples alternativas.
Por comentar algunas otras más:

+ as.Date()

   - Con esta opción no hace falta cargar ningún paquete.
   - Es una función a usar cuando tu columna de fechas es homogénea.
      - Si el formato de tus fechas es homogénea también el paquete "chron"
      (función dates()) te ayuda en la conversión.
   - Además de as.Date() y strptime, tienes otras como as.POSIXct() y
   as.POSIXlt()
   - La función se usaría así:
      - gastos$fecha <- as.Date(gastos$fecha , "%d%m%y")


+ anytime()

   - Es una función de un nuevo paquete de Dirk Eddelbuettel (anytime).
   - La ventaja de este paquete es que si tus fechas tienen codificaciones
   muy diferentes: dmy, ymd, ... es capaz de "adivinar" los formatos
   automáticamente.
   - Esta ventaja también la tiene las funciones del paquete "lubridate".
      Antes de realizar la conversión a formato fecha, lee un número grande de
      líneas y convierte al formato más común.
      - "lubridate()" tiene la ventaja de que luego extraer los días,
      meses, años, semanas, días de la semana es muy sencillo.
   - La función se usaría así:
      - gastos$fecha <- anytime(gastos$fecha)


Sobre el tema de la zona horaria: "tz".

   - Todas las funciones de fecha tienen este parámetro para que puedas
   definir tu zona horaria. Todas las que estamos comentando en estas
   diferentes soluciones: strptime, dmy, as.Date, anytime, etc.
   - También lo incluye la función del paquete "readr" (read_csv2).
   Internamente tiene un parámetro "locale" con un valor por defecto, pero que
   puedes/debes modificar para definir tu zona horaria.



¡Feliz Año!
Carlos Ortega
www.qualityexcellence.es

El 29 de diciembre de 2016, 21:27, Horacio <horacio9573 en gmail.com> escribió:

> Buenas, esta pregunta es un poco elemental, pero estoy haciendo mis
> primeras experiencias en R.
>
> Yo tengo un CSV con el siguiente formato...
>
> fecha;Gastos;media móvil;Holt Winter
> 31/08/02;2498,5;;2498,5
> 29/09/02;2250,93;2320,63;2424,229
> 31/10/02;2212,46;2097,87;2360,6983
> 30/11/02;1830,22;2092,78;2201,55481
> ,,,,,,,
>
> los guardo en un dataframe con gastos=read.csv2("indice_gastos.csv"),
> ahora bien no sé como hace R pero guarda el primer campo como
> numérico,,,
>
> > mode(gastos$fecha)
> [1] "numeric"
>
> y no como el formato de fecha día/mes/año,,, entonces como puedo
> convertir dentro del dataframe gastos$fecha al tipo de datos fecha, o
> date o como se llame de tal manera que cuando haga el grafo
>
> plot(Gastos~fecha,data=gastos)
>
> salga como corresponda y no un chirimbolo como me parece,,,
>
> Saludos Horacio
>
> _______________________________________________
> 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