es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Etiquetando los ejes x e y con el nombre correspondiente de la variable en R.

Esto suena como una pregunta muy trivial al principio, pero nadie logró ayudarme hasta ahora, por lo tanto, me dirijo a todos ustedes.

Me gustaría hacer lo siguiente:

Estoy escribiendo una función sencilla que me permite graficar dos variables entre sí, con una tercera variable que colorea los puntos de observación (dependiendo del valor correspondiente de la variable de color). El código se ve así:

scatterplot <- function(data_used, x.variable, y.variable, color.variable) {

ggplot(data_used, aes(x=x.variable, y=y.variable)) +
    geom_point(aes_string(color = color.variable)) 

}

Lo que me gustaría que R haga ahora es etiquetar el eje x e y (respectivamente) con el nombre correspondiente de la variable que decido graficar. En este ejemplo, el eje x sería ‘education’ y el eje y sería ‘wages’.

Intenté simplemente poner + labs(x = x.variable, y = y.variable) y no funciona (¡cuando lo hago, R etiqueta los ejes con los valores de las variables!). Por defecto, R solo nombra los ejes como “x.variable” e “y.variable”.

¿Alguien puede ayudarme a lograr lo que estoy intentando hacer?

Atentamente,

xifrix

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para etiquetar los ejes x e y con el nombre de variable correspondiente que decidas trazar, puedes modificar tu función “scatterplot” pasando los nombres de las variables como parámetros y usando la función “labs” en “ggplot” de la siguiente manera:

    scatterplot <- function(data_used, x.variable, y.variable, color.variable) {
    
      ggplot(data_used, aes(x = !!sym(x.variable), y = !!sym(y.variable))) +
        geom_point(aes_string(color = color.variable)) +
        labs(x = x.variable, y = y.variable)
    
    }
    
    scatterplot(data_used = example_data, x.variable = "education", 
                y.variable = "wages", 
                color.variable = "sex")
    

    En la función modificada, utilizamos la función “!!sym()” para convertir las cadenas de caracteres pasadas como parámetros en objetos de símbolos que pueden evaluarse dentro del gráfico. Luego, la función “labs” se utiliza para etiquetar los ejes x e y con los nombres de variables correspondientes.

    Ten en cuenta que al pasar los nombres de las variables como parámetros a la función, no debes incluir el signo “$” ni las comillas alrededor de ellos, ya que se evalúan automáticamente en la llamada a “ggplot”.

Comments are closed.