variable una salario numeros ejemplos edad discretos discreta definicion cualitativa continuas continua calificaciones r ggplot2

una - geom_vline() con fecha da error: valor discreto suministrado a escala continua



numeros discretos (1)

Después de obtener el Error: Discrete value supplied to continuous scale mensajes de Error: Discrete value supplied to continuous scale con ggplot y geom_vline() , hice algunos experimentos y encontré la siguiente sorpresa.

Aquí hay un ejemplo reproducible que comienza con algunos datos:

require(lubridate) require(ggplot2) df <- data.frame( date=dmy(c("2/6/2014", "3/6/2014", "4/6/2014", "5/6/2014")), value=1:4 )

Vamos a trazar eso con una línea vertical hasta "3/6/2014" :

ggplot(data=df, aes(x=date, y=value)) + geom_line() + geom_vline(xintercept = as.numeric(dmy("3/6/2014")), linetype=4)

Sin embargo, si cambiamos el orden de los geoms:

ggplot(data=df, aes(x=date, y=value)) + geom_vline(xintercept = as.numeric(dmy("3/6/2014")), linetype=4) + geom_line()

se produce el siguiente mensaje de error:

Error: Discrete value supplied to continuous scale


Simplemente convierta la fecha a la clase Date y agregue scale_x_date() , así:

df$date <- as.Date(df$date) ggplot(data=df, aes(x=date, y=value)) + geom_line() + geom_vline(xintercept = as.numeric(as.Date(dmy("3/6/2014"))), linetype=4) + scale_x_date()