Hola,

Así funciona...

#--------------------------------

library(lubridate)
datos <- read.table("datos.csv", header = TRUE, sep = ";", as.is = TRUE)
#Primero quito fechas malas
datos$pprfecbaja <- ifelse(datos$pprfecbaja=="0001-01-01", NA,
datos$pprfecbaja)

# Convierto campo fechas en clase Date
datos$pprfecbaja <- ymd(datos$pprfecbaja)

# Comprobacion de la clase
tail(datos)
class(datos$pprfecbaja[2808])

#--------------------------------

Saludos,
Carlos Ortega
www.qualityexcellence.es

El 16 de febrero de 2017, 13:34, Mauricio Monsalvo <[email protected]>
escribió:

> Hola.
> Tengo una duda con esta sintaxis. Tengo una variable con formato Date que
> por algún motivo (el data.table viene de una consulta con PostgreSQL):
> datos <- prov[, pprid, pprfecbaja]
>   str(datos)
> Cuando intento quitar las fechas de bajas inválidas (0001-01-01) y
> convertirlas a NA, la variable resultante "pierde" su condición de Date.
> Probé con distintas formas, siempre con el mismo resultado:
> datos$pprfecbaja <- ifelse(datos$pprfecbaja=="0001-01-01", NA,
> datos$pprfecbaja)
> datos$pprfecbaja <- ifelse(datos$pprfecbaja=="0001-01-01", NA,
> as.Date(datos$pprfecbaja))
> datos$pprfecbaja <- ifelse(year(datos$pprfecbaja) < 1994, NA,
> as.Date(datos$pprfecbaja))
> ¿Podrían por favor ayudarme a correr la sintaxis correcta?
> Adjunto los datos de ejemplo.
> ​Muchas gracias.​
>
> --
> Mauricio
>
> _______________________________________________
> R-help-es mailing list
> [email protected]
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a