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.

Trazar columnas con el mismo nombre en R.

Tengo datos que se ven así:

Quiero graficar las columnas con el mismo nombre, por ejemplo: Enterobacteriaceae tratamiento 1 juntas.

Así que se verá así:

La línea x contendrá los tratamientos: tratamiento 11, tratamiento 12 y así sucesivamente.

La línea y contendrá los valores.

También me gustaría agregar la mediana y la línea de regresión lineal.

El problema es que sigo obteniendo un error ya que hay varias columnas con el mismo nombre y R ve eso como un problema para graficar varias columnas con el mismo nombre juntas.

¿Qué debo hacer? ¿Debería intentar fusionar las columnas con el mismo nombre?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en ggplot2, puedes usar la función gather del paquete tidyr para agrupar las columnas con el mismo nombre en una nueva columna. Esto permitirá trazarlos juntos según lo deseado. Aquí hay un ejemplo de fragmento de código:

    “`{r}
    library(tidyr)
    library(ggplot2)

    Cargar datos desde la imagen

    df <- read.csv(“https://i.stack.imgur.com/r8Xr2.png”)

    Reunir columnas con el mismo nombre

    df_gathered <- df %>%
    gather(key = “treatment”, value = “value”, Enterobacteriaceae treatment 1_1:Enterobacteriaceae treatment 1_4)

    Trazar con línea de mediana y regresión lineal

    ggplot(df_gathered, aes(x = treatment, y = value)) +
    geom_boxplot() +
    stat_summary(fun = “median”, geom = “line”, aes(group = 1)) +
    stat_smooth(method = “lm”, se = FALSE, aes(group = 1))
    “`

    Este código usa ggplot2 para crear un gráfico de cajas de los valores para cada tratamiento, y luego agrega una línea para la mediana y una línea de regresión lineal para todos los tratamientos. La clave es reunir primero las columnas con el mismo nombre utilizando la función gather del paquete tidyr. Esto crea una nueva columna llamada “treatment” que contiene los nombres de las columnas (por ejemplo, “Enterobacteriaceae treatment 1_1”) y una nueva columna llamada “value” que contiene los valores correspondientes.

Comments are closed.