[R-es] problema con campos que tienen formato fecha

"Marcuzzi, Javier Rubén" javier.ruben.marcuzzi en gmail.com
Mar Ago 26 04:45:59 CEST 2014


Estimada Andrea

Hace un tiempo (mucho) en esta lista consulte por fechas, difftime, etc. 
En esa oportunidad en mi computadora en algunos casos funcionaba 
correctamente y en otros no, lo solucione con striptime. Pero estoy de 
acuerdo con el aporte de Jorge, es de lo más lógico.

De casualidad encontré esto: 
http://www.noamross.net/blog/2014/2/10/using-times-and-dates-in-r---presentation-code.html

Javier Marcuzzi
El 25/08/14 a las 21:23, Jorge I Velez escibió:
> Hola Angela,
> Una forma de resolver tu problema es utilizando la funcion difftime. 
>  En ?difftime hay varios ejemplos.  Observa el argumento "units" en 
> as.numeric(..., units = 'seconds').
> Saludos,
> Jorge.-
>
>
> 2014-08-26 8:16 GMT+10:00 Angela Andrea Camargo Sanabria 
> <angela.andrea.camargo en gmail.com 
> <mailto:angela.andrea.camargo en gmail.com>>:
>
>     Hola Javier,
>
>     Muchas gracias por responder tan rápido!
>
>     Yo trabajo en Mac OS X 10.9.4.
>     Versión 0.98.953 de RStudio.
>     Versión 3.0.2 (2013-09-25) de R.
>
>     ##
>     Este es el script que estoy trabajando. Se trata de una rutina para
>     automatizar el cálculo de la duración del evento.
>
>     setwd("/Users/angelacamargosanabria/Documents/ANGELITA/1-DOC/1-TESIS/4-PAPERS/1-Mamiferos/DATOS/Bases")
>
>     BASE <- read.table("Todos2014.txt", header = TRUE, sep = "\t")
>     #attach (BASE)
>     dim (BASE)
>
>     #library (lubridate)
>
>     #convertir a formato de fecha y hora
>     BASE <- cbind (BASE, (dmy_hms(paste(BASE$Date,BASE$Time,sep=" "))))
>
>     names (BASE)[12]<-"Time2"
>
>     #empieza rutina para calcular duración de visitas
>     visitas <- data.frame ()
>
>     n<-1
>     narbol <- 1
>
>     while (n <= dim(BASE)[1]) {
>       m = n
>       if (n < dim (BASE)[1]) {
>         while (BASE$Registro[m+1] == "FALSE" & m+1 <= dim(BASE)[1])
>     {m=m+1}
>         if (m+1 == dim (BASE)[1] & BASE$Registro[m+1]== "FALSE") {m+1}}
>
>       if (m == n) { (visitas[narbol,1]<-0) }
>       else
>       {visitas[narbol,1]<-(BASE$Time2[m]-BASE$Time2[n])}
>       visitas[narbol,2]<-BASE$SpeciesID[n]
>       visitas[narbol,3]<-BASE$StationID[n]
>       visitas[narbol,4]<-BASE$Time2[n]
>       visitas[narbol,5]<-BASE$Time2[m]
>
>       narbol <- narbol + 1
>       n = m+1
>     }
>
>     colnames (visitas) <- c("Duracion", "Mammal", "Arbol", "FechaI",
>     "FechaF")
>
>     ---
>     Gracias!
>
>     ----
>     *Angela Andrea Camargo Sanabria*
>     Estudiante Doctorado en Ciencias Biológicas
>     Laboratorio de Ecología de poblaciones y comunidades tropicales
>     Centro de Investigaciones en Ecosistemas (CIEco)
>     UNAM, campus Morelia
>     Antigua Carretera a Pátzcuaro # 8701
>     Col. Ex-Hacienda de San José de la Huerta, CP 58190
>     Morelia, Michoacán, México
>     Tel.: 443-3222706 ext. 42511 <tel:443-3222706%20ext.%2042511>
>     e-mail: aacamargo en cieco.unam.mx <mailto:aacamargo en cieco.unam.mx>
>     skype: angela.camargo26
>
>
>
>     2014-08-25 17:01 GMT-05:00 "Marcuzzi, Javier Rubén" <
>     javier.ruben.marcuzzi en gmail.com
>     <mailto:javier.ruben.marcuzzi en gmail.com>>:
>
>     > Estimada Angela Andrea Camargo
>     >
>     > Las fechas con R dan trabajo, sería bueno que envíes un código R
>     escrito
>     > como ejemplo junto a las especificaciónes de su sistema operativo y
>     > versión de R (porque me paso tener problemas con las fechas y
>     > diferencias entre ambientes de trabajo).
>     >
>     > Javier Marcuzzi
>     >
>     > El 25/08/2014 06:46 p.m., Angela Andrea Camargo Sanabria escribió:
>     > > Hola a todos,
>     > >
>     > > Tengo la siguiente inquietud, espero me puedan ayudar.
>     > >
>     > > Tengo una base de datos de la que estoy haciendo varios
>     c?lculos. Uno de
>     > > ellos es la diferencia entre tiempos para conocer la duraci?n
>     de un
>     > evento.
>     > > Aqu? us? el paquete lubridate para tener fecha y hora en el
>     formato
>     > > adecuado. Cuando hago el calculo obtengo algo como esto:
>     > >
>     > >> (BASE$Time2[518]-BASE$Time2[516])
>     > > Time difference of 1.966667 mins
>     > >
>     > > lo cual est? bien. El problema es que quiero guardarlo en un
>     data frame.
>     > > Pero cuando lo guardo se me pierden las unidades y el formato
>     de fecha.
>     > >
>     > > BASEFINAL
>     > >          V1                       V2          V3         V4
>     > >    V5
>     > > 88  1.966667           Eira barbara Posa1 1403765571 1403765689
>     > >
>     > > V1 guarda el resultado de la resta, pero en unos casos son
>     segundos y en
>     > > otros minutos, c?mo lo puedo saber?
>     > > Igual me pasa con las columnas V4 y V5 que son la fecha/hora
>     de inicio y
>     > de
>     > > finalizaci?n del respectivo evento. Pero creo que esto ?ltimo
>     lo puedo
>     > > arreglar si aplico de vuelta la funci?n as.POSIXct(BASEFINAL[,5],
>     > > origin="1970-01-01").
>     > >
>     > > No s? si sea algo tan tonto como que no pueda usar un data
>     frame para
>     > > guardar mi base final. Agradezco su ayuda!!!
>     > >
>     > > Saludos,
>     > >
>     > >
>     > > ----
>     > > *Angela Andrea Camargo Sanabria*
>     > > Estudiante Doctorado en Ciencias Biol?gicas
>     > > Laboratorio de Ecolog?a de poblaciones y comunidades tropicales
>     > > Centro de Investigaciones en Ecosistemas (CIEco)
>     > > UNAM, campus Morelia
>     > > Antigua Carretera a P?tzcuaro # 8701
>     > > Col. Ex-Hacienda de San Jos? de la Huerta, CP 58190
>     > > Morelia, Michoac?n, M?xico
>     > > Tel.: 443-3222706 ext. 42511
>     > > e-mail: aacamargo en cieco.unam.mx <mailto:aacamargo en cieco.unam.mx>
>     > > skype: angela.camargo26
>     > >
>     > >       [[alternative HTML version deleted]]
>     > >
>     > >
>     > >
>     > > _______________________________________________
>     > > R-help-es mailing list
>     > > R-help-es en r-project.org <mailto:R-help-es en r-project.org>
>     > > https://stat.ethz.ch/mailman/listinfo/r-help-es
>     >
>     >
>     >         [[alternative HTML version deleted]]
>     >
>     >
>     > _______________________________________________
>     > R-help-es mailing list
>     > R-help-es en r-project.org <mailto:R-help-es en r-project.org>
>     > https://stat.ethz.ch/mailman/listinfo/r-help-es
>     >
>     >
>
>             [[alternative HTML version deleted]]
>
>
>     _______________________________________________
>     R-help-es mailing list
>     R-help-es en r-project.org <mailto:R-help-es en r-project.org>
>     https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>


	[[alternative HTML version deleted]]



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