Estimados:
Ayer tratè de usar openair, sin embargo, me durò poco el entusiasmo, ya
que el primer paso, pasarlas fechas a fomato me arrojo un campo de NA, y la
verdad es que ya no sè como resolver este problema, ya que lo he intentado
de muchas formas. Mi fecha es de la forma dd/mm/ yy. Las sentencias las
detallo;
meteo$date<-as.POSIXct(strptime(meteo$date, format = "%d/%m/%yy%))
resultado
str(meteo$date)
$ date: POSIXct, format: *NA NA NA *...
$ temp: num -7.25 -7.96 -6.91 -7.41 -7.07 ...
intentè con lubridate y el resultado es similar, la verdad ya no se que
hacer con el campo fecha.
SAludos a todos y gracias
*Sent:* Tuesday, August 30, 2016 at 11:12 AM
*From:* "Carlos Ortega" <cof en qualityexcellence.es>
*To:* "Javier Valdes Cantallopts (DGA)" <javier.valdes en mop.gov.cl>
*Cc:* "r-help-es en r-project.org" <r-help-es en r-project.org>
*Subject:* Re: [R-es] encontrar fechas saltadas
?El considerar las horas, minutos y segundos, depende de lo que quieras
hacer.
- Puedes incorporarlo en el campo fecha con la función de lubridate:
"ymd_hms()".
- Pero luego al crear el vector de referencia para encontrar los
faltantes tienes que crear un vector secuencia entre la fecha mÃnima y la
máxima. Este vector de referencia no tiene dudas de que es entre el max y
el min con saltos de un dÃa, pero si incluyes horas, minutos y segundos,
seguramente al crear el vector tendrás que indicarle que los saltos los
quieres cada dÃa. Vaya, en la solución de tu duda, me he planteado el
escenario más sencillo.
- Sobre el tema de los faltantes, indicarte que en openair a la hora
de hacer los análisis, las funciones ya son capaces de detectar estos
agujeros y tratarlos como NAs. Al menos en alguos de los
gráficos recuerdo
que incluso se indica el % de estos faltantes.
- Mira en openair por si hubiera alguna función que te diera este
análisis automáticamente.
- Con las fechas sin horas, minutos y segundos, obviamente no podrás
hacer análisis viendo la variabilidad de temperaturas a lo largo del dÃa.
Pero con los faltantes, tampoco vas a poder hacer mucho más, salvo que
hagas algún proceso de imputación para recrear el dato.
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 30 de agosto de 2016, 15:59, Javier Valdes Cantallopts (DGA) <
javier.valdes en mop.gov.cl> escribió:
Reinstalaré el programa y comenzaré desde 0
Respecto de los campos, el de fecha lo configuré de la siguiente forma;
datos$F1<-as.character(datos$F1)
datos$F1<-as.Date(datos$F1,"%Y-%m-%d")
Es correcto? Que pasa con el campo de horas minutos y segundos? Lo debo
configurar también? si es asÃ, como lo hago entonces
Gracias por lo anterior.
*De:* Carlos Ortega [mailto:cof en qualityexcellence.es]
*Enviado el:* martes, 30 de agosto de 2016 10:55
*Para:* Javier Valdes Cantallopts (DGA)
*CC:* r-help-es en r-project.org
*Asunto:* Re: [R-es] encontrar fechas saltadas
Hola,
Usé "textConnection" para poder utilizar tus propios datos y leerlos con
read.table.
En tu caso, si tienes los datos en un .csv, simplemente tienes que
con read.table y utilizar la parte que sigue a "library(lubridate)" en el
código que compartà ayer: coger la columna de fechas, leerla con
"lubridate" y compararla con el vector de referencia.
El error que obtienes no es problema de "lubridate". Antes sÃ, por el
de error que incluiste, sà que habÃa un problema con la librerÃa. Ahora
problema es otro, es un problema de identificar correctamente el campo
fecha.
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 30 de agosto de 2016, 15:23, Javier Valdes Cantallopts (DGA) <
javier.valdes en mop.gov.cl> escribió:
SIGO CON EL PROBLEMA con ?*lubridate?* después de reiniciar y reinstalar
Al hacer ?*EL TEXTCONNECTION*? no reconoce ningún campo.
1] date hour T
<0 rows> (or 0-length row.names)
*De:* Carlos Ortega [mailto:cof en qualityexcellence.es]
*Enviado el:* martes, 30 de agosto de 2016 10:13
*Para:* Javier Valdes Cantallopts (DGA)
*CC:* r-help-es en r-project.org
*Asunto:* Re: [R-es] encontrar fechas saltadas
Hola,
Vuelve a instalar el paquete "lubridate" y nos dices si sigues con el
problema.
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 30 de agosto de 2016, 14:53, Javier Valdes Cantallopts (DGA) <
javier.valdes en mop.gov.cl> escribió:
Hola Carlos y a todos los miembros.
Al llamar a ?lubridate? me encontré con el siguiente problema:
1] date hour T
<0 rows> (or 0-length row.names)
Error in fetch(key) :
lazy-load database 'C:/Program Files/R/R-3.3.1/library/
lubridate/help/lubridate.rdb'
is corrupt
In addition: Warning message:
In fetch(key) : internal error -3 in R_decompress1
Por lo que todo lo que venÃa después falló. Mi base de datos esta sobre
.csv
Encargo ayuda por favor.
*De:* Carlos Ortega [mailto:cof en qualityexcellence.es]
*Enviado el:* lunes, 29 de agosto de 2016 20:31
*Para:* Javier Valdes Cantallopts (DGA)
*CC:* r-help-es en r-project.org
*Asunto:* Re: [R-es] encontrar fechas saltadas
?Hola,
"setdiff()" efectivamente funciona sobre vectores numéricos (no fechas).
Para fechas, es mejor hacerlo de esta forma (utilizando tus datos):
Lines <- "fecha hora datos
+ 20/11/12 2:00:04AM 12.905
+ 21/11/12 3:00:04AM 12.889
+ 22/11/12 4:00:03AM 12.873
+ 23/11/12 5:00:03AM 12.861
+ 29/11/12 11:00:03AM 12.804
+ "
datIn <- read.table(textConnection(Lines), header = TRUE, as.is =
fecha hora datos
1 20/11/12 2:00:04AM 12.905
2 21/11/12 3:00:04AM 12.889
3 22/11/12 4:00:03AM 12.873
4 23/11/12 5:00:03AM 12.861
5 29/11/12 11:00:03AM 12.804
datIn$myfecha <- dmy(datIn$fecha)
dat_ref <- seq(from = min(datIn$myfecha), to = max(datIn$myfecha), by =
dif_df <- dat_ref[ !dat_ref %in% datIn$myfecha]
[1] "2012-11-24" "2012-11-25" "2012-11-26" "2012-11-27" "2012-11-28"
[1] 5
Saludos,
Carlos Ortega
www.qualityexcellence.es?
El 29 de agosto de 2016, 22:55, <javier.ruben.marcuzzi en gmail.com>
escribió:
Estimado Javier Valdes Cantallopts
Entonces si es sobre números, puede pensar en segundos, milisegundos,
dÃas, calcular el tiempo en la unidad que usted desea desde el tiempo
al tiempo en cuestión. Los tiempos serán todos una cantidad respecto al
tiempo base que vale 0.
Javier Rubén Marcuzzi
*De: *Javier Valdes Cantallopts (DGA) <javier.valdes en mop.gov.cl>
*Enviado: *lunes, 29 de agosto de 2016 17:45
*Para: *javier.ruben.marcuzzi en gmail.com; r-help-es en r-project.org
*Asunto: *RE: [R-es] encontrar fechas saltadas
Hola Javier.
Quizás no me expliqué bien:
Estoy usando esta función para identificar *fechas saltadas* de una base
de datos en formato d/m/A;
ref_serie <- seq(from = min(mi_serie), to = max(mi_serie) )
dif_series <- setdiff( ref_serie, mi_serie)
El problema es que en REF_SERIE, me dice que los cálculos los debo hacer
números*, por lo que me imagino que debo transformar las fechas a números
creo yo? lo ideal, serÃa mantener el formato de fecha, es posible lo
último?.
fecha
hora
datos
20/11/12
2:00:04 AM
12.905
21/11/12
3:00:04 AM
12.889
22/11/12
4:00:03 AM
12.873
23/11/12
5:00:03 AM
12.861
29/11/12
11:00:03 AM
12.804
Falta los datos de las fechas 24-25-26-27-28 Y 29/11/12
*De:* javier.ruben.marcuzzi en gmail.com [mailto:javier.ruben.marcuzzi@
gmail.com]
*Enviado el:* lunes, 29 de agosto de 2016 17:22
*Para:* Javier Valdes Cantallopts (DGA); r-help-es en r-project.org
*Asunto:* RE: [R-es] encontrar fechas saltadas
Estimado Javier Valdes Cantallopts
Le propongo http://www.statmethods.net/input/dates.html para acomodar un
poco los datos, aunque hay muchas formas.
Su correo dice FUN(X ?, pienso en que usted pueda acomodar sus datos al
formato de fecha de la función que desea utilizar.
Javier Rubén Marcuzzi
*De: *Javier Valdes Cantallopts (DGA) <javier.valdes en mop.gov.cl>
*Enviado: *lunes, 29 de agosto de 2016 16:40
*Para: *r-help-es en r-project.org
*Asunto: *[R-es] encontrar fechas saltadas
Hola a todos:
Apliqu? el m?todo, pero me sali? lo siguiente;
error in FUN(X[[i]], ...) : only defined on a data frame with all
numeric variables.
Me imagino que el error surgi? ya que la tabla de valores que necesito
encontrar tengo "FECHAS", "HORA" Y NUMERO . Por ejemplo;
fecha
hora
datos
20/11/12
2:00:04 AM
12.905
21/11/12
3:00:04 AM
12.889
22/11/12
4:00:03 AM
12.873
23/11/12
5:00:03 AM
12.861
29/11/12
11:00:03 AM
12.804
Falta los datos de las fechas 24-25-26-27-28 Y 29/11/12
En este caso, para encontrar los valores saltados, que procedimiento
debiese ocupar sabiendo los "tipos" de datos que tengo? Deber?a pasar a
juliano las fechas? Y con las horas? Como lo har?a?
Saludos y gracias.