Estimado Patricio Suárez Gil Ahora estoy en la computadora y puedo escribir un poco mejor, cuándo le sugiero conocer sobre el sistema y librería es porque los resultados difieren, y luego el striptime para ver el formato adecuado, porque lo que vemos como humanos no es equivalente en todos los casos con lo que ve la computadora.
Copio y pego el código que usted envió, tal cuál informa mi computadora, que ni siquiera lo acepta sin cambiar las comillas, y luego str para ver el formato, finalmente en lubridate. Si en su caso str le informa fecha donde debe ser fecha, entonces puede concentrar la atención en el if, pero hay que tener cuidado en otra cosa antes de filtrar, el formato fecha, porque supongamos que sus datos son impuestos pagados del 1 al 10 de cada mes, un formato año, mes, día es igual al ojo humano que año, día, mes, numéricamente los datos entrarían, aunque usted propone un día 15 y no hay mes 15, el error es posible dependiendo del calendario de los datos, por decirlo de alguna forma y repitiendo, el ojo humano con las fechas no siempre coincide con el ojo informático. > R.version _ platform x86_64-w64-mingw32 arch x86_64 os mingw32 system x86_64, mingw32 status major 3 minor 4.3 year 2017 month 11 day 30 svn rev 73796 language R version.string R version 3.4.3 (2017-11-30) nickname Kite-Eating Tree > fechas_original <- c(“2016-07-15”, “2016-10-12”, ”2017-02-11”)Error: unexpected input in "fechas_original <- c(“"> fechas <- c('2016-07-15', '2016-10-12', '2017-02-11')> str(fechas) chr [1:3] "2016-07-15" "2016-10-12" "2017-02-11"> library(lubridate)> fecha2<-as_date(fechas)> str(fecha2) Date[1:3], format: "2016-07-15" "2016-10-12" "2017-02-11" Si no obtiene algo semejante a los dos últimos renglones, str(fecha2) y Date..., tiene un problema en la fuente de datos, y debe trabajar en estas antes que en el if. Javier Rubén Marcuzzi El 12 de febrero de 2018, 21:04, Carlos Ortega <c...@qualityexcellence.es> escribió: > Hola, > > Esta es una forma... > > > library(lubridate) > > library(dplyr) > > > > fechas <- c("2016-07-15", "2016-10-12", "2017-02-11") > > fechas_new <- ymd(fechas) > > > > res_out <- ifelse(year(fechas_new) > 2016, NA, fechas_new) > > res_out > [1] 16997 17086 NA > > class(res_out) <- class(fechas_new) > > res_out > [1] "2016-07-15" "2016-10-12" NA > > > No lo había visto hasta ahora, es un caso que se cuenta en la ayuda de > "ifelse()" con un ejemplo... > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > 2018-02-13 0:54 GMT+01:00 patricio fuenmayor <patricio.fuenma...@gmail.com > >: > > > hola Patricio, usa: > > dplyr::if_else > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es@r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es