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 leerlos 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 tipo de error que incluiste, sí que había un problema con la librería. Ahora el 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 un > .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 = TRUE) > > > datIn > > 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 > > > > > > library(lubridate) > > > datIn$myfecha <- dmy(datIn$fecha) > > > > > > dat_ref <- seq(from = min(datIn$myfecha), to = max(datIn$myfecha), by > 1) > > > dif_df <- dat_ref[ !dat_ref %in% datIn$myfecha] > > > dif_df > > [1] "2012-11-24" "2012-11-25" "2012-11-26" "2012-11-27" "2012-11-28" > > > length(dif_df) > > [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 base > 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; > > > > > mi_serie <- c > > > ref_serie <- seq(from = min(mi_serie), to = max(mi_serie) ) > > > > > > dif_series <- setdiff( ref_serie, mi_serie) > > > > > > dif_series > > > > > length( dif_series) > > > > El problema es que en REF_SERIE, me dice que los cálculos los debo hacer *sobre > 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 d?a > juliano las fechas? Y con las horas? Como lo har?a? > > Saludos y gracias. > > > > > > ________________________________ > > > > CONFIDENCIALIDAD: La informaci?n contenida en este mensaje y/o en los > archivos adjuntos es de car?cter confidencial o privilegiada y est? > destinada al uso exclusivo del emisor y/o de la persona o entidad a quien > va dirigida. Si usted no es el destinatario, cualquier almacenamiento, > divulgaci?n, distribuci?n o copia de esta informaci?n est? estrictamente > prohibido y sancionado por la ley. Si recibi? este mensaje por error, por > favor inf?rmenos inmediatamente respondiendo este mismo mensaje y borre > todos los archivos adjuntos. Gracias. > > > > CONFIDENTIAL NOTE: The information transmitted in this message and/or > attachments is confidential and/or privileged and is intented only for use > of the person or entity to whom it is addressed. If you are not the > intended recipient, any retention, dissemination, distribution or copy of > this information is strictly prohibited and sanctioned by law. If you > received this message in error, please reply us this same message and > delete this message and all attachments. Thank you. > > > > [[alternative HTML version deleted]] > > > > > > > > > CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los > archivos adjuntos es de carácter confidencial o privilegiada y está > destinada al uso exclusivo del emisor y/o de la persona o entidad a quien > va dirigida. Si usted no es el destinatario, cualquier almacenamiento, > divulgación, distribución o copia de esta información está estrictamente > prohibido y sancionado por la ley. Si recibió este mensaje por error, por > favor infórmenos inmediatamente respondiendo este mismo mensaje y borre > todos los archivos adjuntos. Gracias. > > CONFIDENTIAL NOTE: The information transmitted in this message and/or > attachments is confidential and/or privileged and is intented only for use > of the person or entity to whom it is addressed. If you are not the > intended recipient, any retention, dissemination, distribution or copy of > this information is strictly prohibited and sanctioned by law. If you > received this message in error, please reply us this same message and > delete this message and all attachments. Thank you. > > > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > -- > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > ------------------------------ > > > CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los > archivos adjuntos es de carácter confidencial o privilegiada y está > destinada al uso exclusivo del emisor y/o de la persona o entidad a quien > va dirigida. Si usted no es el destinatario, cualquier almacenamiento, > divulgación, distribución o copia de esta información está estrictamente > prohibido y sancionado por la ley. Si recibió este mensaje por error, por > favor infórmenos inmediatamente respondiendo este mismo mensaje y borre > todos los archivos adjuntos. Gracias. > > CONFIDENTIAL NOTE: The information transmitted in this message and/or > attachments is confidential and/or privileged and is intented only for use > of the person or entity to whom it is addressed. If you are not the > intended recipient, any retention, dissemination, distribution or copy of > this information is strictly prohibited and sanctioned by law. If you > received this message in error, please reply us this same message and > delete this message and all attachments. Thank you. > > > > > > -- > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > ------------------------------ > > CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los > archivos adjuntos es de carácter confidencial o privilegiada y está > destinada al uso exclusivo del emisor y/o de la persona o entidad a quien > va dirigida. Si usted no es el destinatario, cualquier almacenamiento, > divulgación, distribución o copia de esta información está estrictamente > prohibido y sancionado por la ley. Si recibió este mensaje por error, por > favor infórmenos inmediatamente respondiendo este mismo mensaje y borre > todos los archivos adjuntos. Gracias. > > CONFIDENTIAL NOTE: The information transmitted in this message and/or > attachments is confidential and/or privileged and is intented only for use > of the person or entity to whom it is addressed. If you are not the > intended recipient, any retention, dissemination, distribution or copy of > this information is strictly prohibited and sanctioned by law. If you > received this message in error, please reply us this same message and > delete this message and all attachments. Thank you. >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
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 leerlos 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 tipo de error que incluiste, sí que había un problema con la librería. Ahora el problema es otro, es un problema de identificar correctamente el campo fecha. Saludos, Carlos Ortega www.qualityexcellence.es<http://www.qualityexcellence.es> El 30 de agosto de 2016, 15:23, Javier Valdes Cantallopts (DGA) <javier.valdes en mop.gov.cl<mailto: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<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<mailto: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<http://www.qualityexcellence.es> El 30 de agosto de 2016, 14:53, Javier Valdes Cantallopts (DGA) <javier.valdes en mop.gov.cl<mailto: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 un .csv Encargo ayuda por favor. De: Carlos Ortega [mailto:cof en qualityexcellence.es<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<mailto: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<http://as.is> = TRUE) > datInfecha 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> > library(lubridate) > datIn$myfecha <- dmy(datIn$fecha) > > dat_ref <- seq(from = min(datIn$myfecha), to = max(datIn$myfecha), by = 1) > dif_df <- dat_ref[ !dat_ref %in% datIn$myfecha] > dif_df[1] "2012-11-24" "2012-11-25" "2012-11-26" "2012-11-27" "2012-11-28"> length(dif_df)[1] 5 Saludos, Carlos Ortega www.qualityexcellence.es<http://www.qualityexcellence.es>? El 29 de agosto de 2016, 22:55, <javier.ruben.marcuzzi en gmail.com<mailto: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 base 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)<mailto:javier.valdes en mop.gov.cl> Enviado: lunes, 29 de agosto de 2016 17:45 Para: javier.ruben.marcuzzi en gmail.com<mailto:javier.ruben.marcuzzi en gmail.com>; r-help-es en r-project.org<mailto: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;> mi_serie <- c > ref_serie <- seq(from = min(mi_serie), to = max(mi_serie) ) > > dif_series <- setdiff( ref_serie, mi_serie) > > dif_series> length( dif_series)El problema es que en REF_SERIE, me dice que los cálculos los debo hacer sobre 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 en gmail.com> [mailto:javier.ruben.marcuzzi en gmail.com<mailto:javier.ruben.marcuzzi en gmail.com>] Enviado el: lunes, 29 de agosto de 2016 17:22 Para: Javier Valdes Cantallopts (DGA); r-help-es en r-project.org<mailto: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)<mailto:javier.valdes en mop.gov.cl> Enviado: lunes, 29 de agosto de 2016 16:40 Para: r-help-es en r-project.org<mailto: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 d?a juliano las fechas? Y con las horas? Como lo har?a? Saludos y gracias. ________________________________ CONFIDENCIALIDAD: La informaci?n contenida en este mensaje y/o en los archivos adjuntos es de car?cter confidencial o privilegiada y est? destinada al uso exclusivo del emisor y/o de la persona o entidad a quien va dirigida. Si usted no es el destinatario, cualquier almacenamiento, divulgaci?n, distribuci?n o copia de esta informaci?n est? estrictamente prohibido y sancionado por la ley. Si recibi? este mensaje por error, por favor inf?rmenos inmediatamente respondiendo este mismo mensaje y borre todos los archivos adjuntos. Gracias. CONFIDENTIAL NOTE: The information transmitted in this message and/or attachments is confidential and/or privileged and is intented only for use of the person or entity to whom it is addressed. If you are not the intended recipient, any retention, dissemination, distribution or copy of this information is strictly prohibited and sanctioned by law. If you received this message in error, please reply us this same message and delete this message and all attachments. Thank you. [[alternative HTML version deleted]] CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los archivos adjuntos es de carácter confidencial o privilegiada y está destinada al uso exclusivo del emisor y/o de la persona o entidad a quien va dirigida. Si usted no es el destinatario, cualquier almacenamiento, divulgación, distribución o copia de esta información está estrictamente prohibido y sancionado por la ley. Si recibió este mensaje por error, por favor infórmenos inmediatamente respondiendo este mismo mensaje y borre todos los archivos adjuntos. Gracias. CONFIDENTIAL NOTE: The information transmitted in this message and/or attachments is confidential and/or privileged and is intented only for use of the person or entity to whom it is addressed. If you are not the intended recipient, any retention, dissemination, distribution or copy of this information is strictly prohibited and sanctioned by law. If you received this message in error, please reply us this same message and delete this message and all attachments. Thank you. _______________________________________________ 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 -- Saludos, Carlos Ortega www.qualityexcellence.es<http://www.qualityexcellence.es> ________________________________ CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los archivos adjuntos es de carácter confidencial o privilegiada y está destinada al uso exclusivo del emisor y/o de la persona o entidad a quien va dirigida. Si usted no es el destinatario, cualquier almacenamiento, divulgación, distribución o copia de esta información está estrictamente prohibido y sancionado por la ley. Si recibió este mensaje por error, por favor infórmenos inmediatamente respondiendo este mismo mensaje y borre todos los archivos adjuntos. Gracias. CONFIDENTIAL NOTE: The information transmitted in this message and/or attachments is confidential and/or privileged and is intented only for use of the person or entity to whom it is addressed. If you are not the intended recipient, any retention, dissemination, distribution or copy of this information is strictly prohibited and sanctioned by law. If you received this message in error, please reply us this same message and delete this message and all attachments. Thank you. -- Saludos, Carlos Ortega www.qualityexcellence.es<http://www.qualityexcellence.es> ________________________________ CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los archivos adjuntos es de carácter confidencial o privilegiada y está destinada al uso exclusivo del emisor y/o de la persona o entidad a quien va dirigida. Si usted no es el destinatario, cualquier almacenamiento, divulgación, distribución o copia de esta información está estrictamente prohibido y sancionado por la ley. Si recibió este mensaje por error, por favor infórmenos inmediatamente respondiendo este mismo mensaje y borre todos los archivos adjuntos. Gracias. CONFIDENTIAL NOTE: The information transmitted in this message and/or attachments is confidential and/or privileged and is intented only for use of the person or entity to whom it is addressed. If you are not the intended recipient, any retention, dissemination, distribution or copy of this information is strictly prohibited and sanctioned by law. If you received this message in error, please reply us this same message and delete this message and all attachments. Thank you. -- Saludos, Carlos Ortega www.qualityexcellence.es<http://www.qualityexcellence.es> ________________________________ CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los archivos adjuntos es de carácter confidencial o privilegiada y está destinada al uso exclusivo del emisor y/o de la persona o entidad a quien va dirigida. Si usted no es el destinatario, cualquier almacenamiento, divulgación, distribución o copia de esta información está estrictamente prohibido y sancionado por la ley. Si recibió este mensaje por error, por favor infórmenos inmediatamente respondiendo este mismo mensaje y borre todos los archivos adjuntos. Gracias. CONFIDENTIAL NOTE: The information transmitted in this message and/or attachments is confidential and/or privileged and is intented only for use of the person or entity to whom it is addressed. If you are not the intended recipient, any retention, dissemination, distribution or copy of this information is strictly prohibited and sanctioned by law. If you received this message in error, please reply us this same message and delete this message and all attachments. Thank you. [[alternative HTML version deleted]]
?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 leerlos > 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 tipo > de error que incluiste, sí que había un problema con la librería. Ahora el > 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 un > .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 = TRUE) > > > datIn > > 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 > > > > > > library(lubridate) > > > datIn$myfecha <- dmy(datIn$fecha) > > > > > > dat_ref <- seq(from = min(datIn$myfecha), to = max(datIn$myfecha), by > 1) > > > dif_df <- dat_ref[ !dat_ref %in% datIn$myfecha] > > > dif_df > > [1] "2012-11-24" "2012-11-25" "2012-11-26" "2012-11-27" "2012-11-28" > > > length(dif_df) > > [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 base > 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; > > > > > mi_serie <- c > > > ref_serie <- seq(from = min(mi_serie), to = max(mi_serie) ) > > > > > > dif_series <- setdiff( ref_serie, mi_serie) > > > > > > dif_series > > > > > length( dif_series) > > > > El problema es que en REF_SERIE, me dice que los cálculos los debo hacer *sobre > 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 d?a > juliano las fechas? Y con las horas? Como lo har?a? > > Saludos y gracias. > > > > > > ________________________________ > > > > CONFIDENCIALIDAD: La informaci?n contenida en este mensaje y/o en los > archivos adjuntos es de car?cter confidencial o privilegiada y est? > destinada al uso exclusivo del emisor y/o de la persona o entidad a quien > va dirigida. Si usted no es el destinatario, cualquier almacenamiento, > divulgaci?n, distribuci?n o copia de esta informaci?n est? estrictamente > prohibido y sancionado por la ley. Si recibi? este mensaje por error, por > favor inf?rmenos inmediatamente respondiendo este mismo mensaje y borre > todos los archivos adjuntos. Gracias. > > > > CONFIDENTIAL NOTE: The information transmitted in this message and/or > attachments is confidential and/or privileged and is intented only for use > of the person or entity to whom it is addressed. If you are not the > intended recipient, any retention, dissemination, distribution or copy of > this information is strictly prohibited and sanctioned by law. If you > received this message in error, please reply us this same message and > delete this message and all attachments. Thank you. > > > > [[alternative HTML version deleted]] > > > > > > > > > CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los > archivos adjuntos es de carácter confidencial o privilegiada y está > destinada al uso exclusivo del emisor y/o de la persona o entidad a quien > va dirigida. Si usted no es el destinatario, cualquier almacenamiento, > divulgación, distribución o copia de esta información está estrictamente > prohibido y sancionado por la ley. Si recibió este mensaje por error, por > favor infórmenos inmediatamente respondiendo este mismo mensaje y borre > todos los archivos adjuntos. Gracias. > > CONFIDENTIAL NOTE: The information transmitted in this message and/or > attachments is confidential and/or privileged and is intented only for use > of the person or entity to whom it is addressed. If you are not the > intended recipient, any retention, dissemination, distribution or copy of > this information is strictly prohibited and sanctioned by law. If you > received this message in error, please reply us this same message and > delete this message and all attachments. Thank you. > > > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > -- > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > ------------------------------ > > > CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los > archivos adjuntos es de carácter confidencial o privilegiada y está > destinada al uso exclusivo del emisor y/o de la persona o entidad a quien > va dirigida. Si usted no es el destinatario, cualquier almacenamiento, > divulgación, distribución o copia de esta información está estrictamente > prohibido y sancionado por la ley. Si recibió este mensaje por error, por > favor infórmenos inmediatamente respondiendo este mismo mensaje y borre > todos los archivos adjuntos. Gracias. > > CONFIDENTIAL NOTE: The information transmitted in this message and/or > attachments is confidential and/or privileged and is intented only for use > of the person or entity to whom it is addressed. If you are not the > intended recipient, any retention, dissemination, distribution or copy of > this information is strictly prohibited and sanctioned by law. If you > received this message in error, please reply us this same message and > delete this message and all attachments. Thank you. > > > > > > -- > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > ------------------------------ > > > CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los > archivos adjuntos es de carácter confidencial o privilegiada y está > destinada al uso exclusivo del emisor y/o de la persona o entidad a quien > va dirigida. Si usted no es el destinatario, cualquier almacenamiento, > divulgación, distribución o copia de esta información está estrictamente > prohibido y sancionado por la ley. Si recibió este mensaje por error, por > favor infórmenos inmediatamente respondiendo este mismo mensaje y borre > todos los archivos adjuntos. Gracias. > > CONFIDENTIAL NOTE: The information transmitted in this message and/or > attachments is confidential and/or privileged and is intented only for use > of the person or entity to whom it is addressed. If you are not the > intended recipient, any retention, dissemination, distribution or copy of > this information is strictly prohibited and sanctioned by law. If you > received this message in error, please reply us this same message and > delete this message and all attachments. Thank you. > > > > > > -- > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > ------------------------------ > > CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los > archivos adjuntos es de carácter confidencial o privilegiada y está > destinada al uso exclusivo del emisor y/o de la persona o entidad a quien > va dirigida. Si usted no es el destinatario, cualquier almacenamiento, > divulgación, distribución o copia de esta información está estrictamente > prohibido y sancionado por la ley. Si recibió este mensaje por error, por > favor infórmenos inmediatamente respondiendo este mismo mensaje y borre > todos los archivos adjuntos. Gracias. > > CONFIDENTIAL NOTE: The information transmitted in this message and/or > attachments is confidential and/or privileged and is intented only for use > of the person or entity to whom it is addressed. If you are not the > intended recipient, any retention, dissemination, distribution or copy of > this information is strictly prohibited and sanctioned by law. If you > received this message in error, please reply us this same message and > delete this message and all attachments. Thank you. >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]