Duplicar (y modificar) eje discreto en ggplot2

Quiero duplicar el eje Y del lado izquierdo en un diagrama ggplot2 en el lado derecho, y luego cambiar las etiquetas de marca para un eje discreto (categórico).

He leido la respuesta aesta pregunta, sin embargo, como se puede veren la página de repositorio del paquete, elswitch_axis_position() la función ha sido eliminada de lacowplot paquete (el autor citó la funcionalidad nativa (¿próxima?) en ggplot2).

He visto elreferencia página en ejes secundarios en ggplot2, sin embargo, todos los ejemplos en ese documento usanscale_y_continuous más bien quescale_y_discrete. Y, de hecho, cuando trato de usar la función discreta, aparece el error:

Error in discrete_scale(c("y", "ymin", "ymax", "yend"), "position_d",  : 
unused argument (sec.axis = <environment>)

¿Hay alguna forma de hacer esto con ggplot2? Incluso una solución completamente pirateada será suficiente para mí. Gracias por adelantado. (ERM a continuación)

library(ggplot2)

# Working continuous plot with 2 axes
ggplot(mtcars, aes(cyl, mpg))  + 
    geom_point() + 
    scale_y_continuous(sec.axis = sec_axis(~.+10))


# Working discrete plot with 1 axis
ggplot(mtcars, aes(cyl, as.factor(mpg)))  + 
    geom_point() 


# Broken discrete plot with 2 axes
ggplot(mtcars, aes(cyl, as.factor(mpg)))  + 
    geom_point() +
    scale_y_discrete(sec.axis = sec_axis(~.+10))

Respuestas a la pregunta(1)

Su respuesta a la pregunta