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

"Marcuzzi, Javier Rubén" javier.ruben.marcuzzi en gmail.com
Mar Ago 26 02:18:50 CEST 2014


Estimada Angela Andrea Camargo

Al final de todo escriba str(visitas)

El formato es numérico, no fecha, yo no me encontré con ese problema 
solucionando con lubridate, en esos casos uso otra forma que no se la 
envío porque al ser otro sistema operativo posiblemente aporte un error, 
es probable que alguna forma de: 
http://cran.r-project.org/web/packages/lubridate/vignettes/lubridate.html le 
solucione el problema sin complicaciones (posiblemente mejor que con la 
alternativa que yo uso).

Yo cuando agrego datos los realizo en data.frame, me creo las columnas y 
luego las "sumo" (cbind), utilizando as.numeric, as.character, pero 
as.Date suele dar problemas. Pero es solo una forma, no uso bucles, 
prefiero usar vectorizados, pero no esta mal su script.

Javier Marcuzzi

El 25/08/14 a las 19:39, Angela Andrea Camargo Sanabria escibió:
> Hola Javier,
> Te envío un text con las primeras filas de datos.
> No me sale error. Simplemente es que cuando guardo en el data frame 
> (visitas), me cambia el formato.
> Pues no sé de qué otra forma podría hacerlo. Quería automatizarlo en R 
> porque voy a estar leyendo bases como las del ejemplo, varias veces y 
> quería conseguirlo rápidamente (después de la inversión de tiempo 
> inicial!!!). Además, yo sólo manejo R entonces no sabría en qué otro 
> hacerlo.
>
> 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:29 GMT-05:00 "Marcuzzi, Javier Rubén" 
> <javier.ruben.marcuzzi en gmail.com 
> <mailto:javier.ruben.marcuzzi en gmail.com>>:
>
>     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