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
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
dplyr::if_else
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
[[alternative HTML version deleted]]