Pregunta

Estoy tratando de encontrar una función para transformar un entero a una cadena para que pueda utilizarlo en iniciar un objeto Date.

> v = c(20081101)
> date <- as.Date(v, format("%Y%m%d"))
  

Error en charToDate (x): cadena de caracteres no está en un nivel   Formato inequívoca

He encontrado una solución con paste(), pero me gustaría saber cuál es la forma correcta de hacer la conversión.

> date <- as.Date(paste(v), format("%Y%m%d"))
> date
[1] "2008-11-01"
¿Fue útil?

Solución

as.character() sería la manera general en lugar de uso paste() por su efecto secundario

> v <- 20081101
> date <- as.Date(as.character(v), format = "%Y%m%d")
> date
[1] "2008-11-01"

(creo que esto es un ejemplo sencillo y algo como esto:

v <- "20081101"

No es posible?)

Otros consejos

Otra forma de obtener el mismo resultado:

date <- strptime(v,format="%Y%m%d")
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top