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.

Agrupar filas por variables en KableExtra.

Este es mi primera pregunta aquí, así que no estoy seguro de cómo expresar las cosas. Sin embargo, estoy investigando el paquete kableExtra para crear diferentes tablas que las que actualmente conozco en gt. Este es el resultado de mi tabla en gt.
ver descripción de la imagen en este enlace

Ahora lo que estoy tratando de hacer es agrupar mi tabla kable de una manera similar a esta. Este conjunto de datos es exactamente lo que ves, con la adición de una columna que he llamado “x” que incluye Prevalencia, Abundancia e Intensidad para cada fila diferente. ¿Hay alguna forma de obtener una salida similar para una tabla kable? La dificultad que tengo es que esta tabla en gt es tan larga que no se ajusta muy bien en un documento. Gracias por cualquier ayuda.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, es posible agrupar una tabla kable de manera similar a la tabla gt proporcionada. Una opción es utilizar la función group_rows() del paquete kableExtra. Aquí hay un ejemplo de código:

    library(kableExtra)
    
    # crear un marco de datos de muestra
    df <- data.frame(
      Category = c("A", "B", "C", "D", "E", "F"),
      Value1 = c(10, 20, 30, 40, 50, 60),
      Value2 = c(100, 200, 300, 400, 500, 600),
      x = rep(c("Prevalencia", "Abundancia", "Intensidad"), each = 2)
    )
    
    # crear la tabla kable
    kable(df, format = "html") %>%
      # agrupar las filas por la columna "x"
      group_rows("x") %>%
      # establecer el texto del encabezado del grupo
      add_header_above(c(" " = 1, " " = 1, " " = 1, "Valores" = 2)) %>%
      add_header_above(c("Categoría" = 1, "Tipo" = 2, " " = 1))
    
    

    La función group_rows() agrupa las filas basándose en los valores únicos en la columna “x”. La función add_header_above() agrega filas de encabezado encima de la fila de encabezado existente. La tabla resultante tendrá las filas “Prevalencia”, “Abundancia” e “Intensidad” agrupadas, con una fila de encabezado indicando el grupo y dos columnas para las columnas “Value1” y “Value2”.

Comments are closed.