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.

RStudio ggplot nombrar puntos con una columna diferente a x o y.

Tengo el siguiente conjunto de datos:

CATEGORÍA    ID    Modo_A    Modo_B    Media_A   Media_B
A            1       4         2        2.1       3.4
A            2       1         2        4.2       2.7 
B            3       1         1        3.2       4.1 
B            4       4         2        1.5       1.2

Ver ejemplo

He creado el siguiente gráfico:

ggplot(data = tabla_moda) + 
 geom_point(mapping = aes(x = Media_Impacto, y = Media_Esfuerzo, color = Moda_Impacto, size = Moda_Esfuerzo))

Ver gráfico

Estoy tratando de agregar a todos los puntos en el gráfico el ID correspondiente de mi conjunto de datos. He intentado lo siguiente:

ggplot(data = tabla_moda) + 
 geom_point(mapping = aes(x = Media_Impacto, y = Media_Esfuerzo, color = Moda_Impacto, size = Moda_Esfuerzo)) +
   ggrepel::geom_text_repel(label = ID, nudge_x=0.45, nudge_y=0.1, check_overlap=T)

ggplot(data = tabla_moda, mapping = aes(x = Media_Impacto, y = Media_Esfuerzo, color = Moda_Impacto, size = Moda_Esfuerzo, label = rownames(ID))) + 
 geom_point()  +
  geom_text(label = ID, nudge_x=0.45, nudge_y=0.1, check_overlap=T)

Pero siempre obtengo el mismo error:

ID: objeto no encontrado

Gracias de antemano por su ayuda.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para agregar la fila de ID del conjunto de datos a cada punto en el gráfico, puedes usar la función geom_text() y asignar la estética label a la variable ID.

    Aquí tienes un ejemplo de código:

    ggplot(data = tabla_moda) + 
      geom_point(mapping = aes(x = Media_A, y = Media_B, color = Moda_A, size = Moda_B)) +
      geom_text(aes(x = Media_A, y = Media_B, label = rownames(tabla_moda)))
    

    En este código, primero creamos un gráfico de dispersión con geom_point() y asignamos las estéticas x, y, color y size a las respectivas variables en el conjunto de datos. Luego, utilizamos geom_text() para agregar etiquetas de texto a cada punto, asignando las estéticas x, y y label a las mismas variables y a la función rownames() aplicada al conjunto de datos.

    Ten en cuenta que rownames() se utiliza dentro de la función aes(), no como una variable independiente. Además, asegúrate de que los nombres de las variables en la función aes() coincidan con los nombres en tu conjunto de datos.

Comments are closed.