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

Jorge I Velez jorgeivanvelez en gmail.com
Mar Ago 26 02:23:24 CEST 2014


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>:

> 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
> e-mail: 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>:
>
> > 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
> > > skype: angela.camargo26
> > >
> > >       [[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
> >
> >
> >         [[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
> >
> >
>
>         [[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
>
>

	[[alternative HTML version deleted]]



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