Buenas tardes, supongo que será muy sencillo, pero estoy empezando en r y no acabo de dar con la tecla. Estoy intentando hacer un gráfico de líneas con ggplot pero el eje x me sale con los meses ordenados alfabéticamente (abril, agosto, diciembre?) en vez de su orden natural (enero, febrero, marzo?.). Agradezco cualquier pista. Un saludo Jesús
Hola Jesús, Creo que para tu caso concreto la variable que define el mes, debería de tener clase temporal. No conozco si periodo o fecha...depende de tu análisis. El paquete lubridate puede ayudarte a pasar de clase "character" a algún tipo de clase temporal. A partir de ese paso, una vez definida tu variable como temporal, tus datos temporales serán reconocidos y ordenados por ggplot. Te recomiendo que trabajes con clases temporales con lubridate. Aun así, para salir del paso, tendrías dos opciones más: i) podrías definir la variable como factor y definir los niveles (de enero a diciembre); y ii) usar +scale_x_discrete (limits= c("enero",..., "diciembre")) Los enlaces adjuntos describen las opciones que te comentaba con el código en detalle para casos similares. https://stackoverflow.com/questions/29974535/dates-with-month-and-day-in-time-series-plot-in-ggplot2-with-facet-for-years https://stackoverflow.com/questions/3253641/change-the-order-of-a-discrete-x-scale Cuesta un poquito aprender lubridate pero avanzarás más rápido y más limpio si transformas a clases temporales. Espero haberte aclarado algo. Jorge Senán -----Mensaje original----- De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de xygcom en gmail.com Enviado el: viernes, 8 de febrero de 2019 14:40 Para: r-help-es en r-project.org Asunto: [R-es] Ordenar eje en ggplot Buenas tardes, supongo que será muy sencillo, pero estoy empezando en r y no acabo de dar con la tecla. Estoy intentando hacer un gráfico de líneas con ggplot pero el eje x me sale con los meses ordenados alfabéticamente (abril, agosto, diciembre?) en vez de su orden natural (enero, febrero, marzo?.). Agradezco cualquier pista. Un saludo Jesús _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Perfecto Jorge. Cualquiera de las dos soluciones funciona a la perfección. Le echaré un vistazo a lubridate, parece una solución interesante. Agradecido Un saludo. Jesús> El 8 feb 2019, a las 15:02, Jorge Senán Salinas <jorge.senan en imdea.org> escribió: > > Hola Jesús, > > Creo que para tu caso concreto la variable que define el mes, debería de tener clase temporal. No conozco si periodo o fecha...depende de tu análisis. El paquete lubridate puede ayudarte a pasar de clase "character" a algún tipo de clase temporal. A partir de ese paso, una vez definida tu variable como temporal, tus datos temporales serán reconocidos y ordenados por ggplot. > > Te recomiendo que trabajes con clases temporales con lubridate. > Aun así, para salir del paso, tendrías dos opciones más: i) podrías definir la variable como factor y definir los niveles (de enero a diciembre); y ii) usar +scale_x_discrete (limits= c("enero",..., "diciembre")) > > Los enlaces adjuntos describen las opciones que te comentaba con el código en detalle para casos similares. > https://stackoverflow.com/questions/29974535/dates-with-month-and-day-in-time-series-plot-in-ggplot2-with-facet-for-years > https://stackoverflow.com/questions/3253641/change-the-order-of-a-discrete-x-scale > > Cuesta un poquito aprender lubridate pero avanzarás más rápido y más limpio si transformas a clases temporales. > > Espero haberte aclarado algo. > > Jorge Senán > > > > > > -----Mensaje original----- > De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de xygcom en gmail.com > Enviado el: viernes, 8 de febrero de 2019 14:40 > Para: r-help-es en r-project.org > Asunto: [R-es] Ordenar eje en ggplot > > Buenas tardes, supongo que será muy sencillo, pero estoy empezando en r y no acabo de dar con la tecla. Estoy intentando hacer un gráfico de líneas con ggplot pero el eje x me sale con los meses ordenados alfabéticamente (abril, agosto, diciembre?) en vez de su orden natural (enero, febrero, marzo?.). Agradezco cualquier pista. > Un saludo > Jesús > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >