[R-es] problema con campos que tienen formato fecha
"Marcuzzi, Javier Rubén"
javier.ruben.marcuzzi en gmail.com
Mar Ago 26 00:29:37 CEST 2014
Estimada Angela
Yo podría probar su código en linux, pero sin algunos datos de ejemplo o
alguna escritura de R donde dice el error, es poco lo que podemos hacer.
Por ejemplo $date a mi me supo dar error, no comprendo porque lo trabaja
de esa forma, no esta mal programar en R pero posiblemente se puede
realizar de alguna forma más sencilla.
Pero ¿donde le aparecen los errores como para poder duplicarlos y tratar
de solucionarlos? En todos casos envíe un archivo txt con los primeros
5 registros.
Javier Marcuzzi
El 25/08/14 a las 19:16, Angela Andrea Camargo Sanabria escibió:
> 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 <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 <tel:443-3222706%20ext.%2042511>
> > 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]]
Más información sobre la lista de distribución R-help-es