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.

Cómo agregar medidas personalizadas de estadísticas descriptivas en una tabla de estadísticas resumidas creada utilizando el paquete table1.

Estoy usando el paquete table1 y el código a continuación para crear una tabla con medidas estadísticas descriptivas específicas de la región para tres variables (es decir, ITEtech, tech y IMRtech) que se encuentran en el intervalo unitario cerrado.

library(table1)
table1::label(results19$ITE_tech) <- "TE"
table1::label(results19$tech) <- "TE_k"
table1::label(results19$IMR_tech) <- "MTR"
table1::table1(~ITE_tech + tech + IMR_tech | REGION, data = results19)

¿Cómo puedo agregar a la tabla resultante otra fila que muestre el número de veces que cada una de las variables mencionadas anteriormente toma el valor de 1? Estaba tratando de hacer esto usando el código debajo, pero este código aplica la función de suma solo a la primera variable y excluye las medidas estadísticas descriptivas predeterminadas (es decir, media, sd, min, max) de la tabla final.

render.continuous.custom <- function(x, ...) {
  attr(x, "label") <- NULL
  c(
    "", 
    "Obs. Eff." = sum(results19$tech==1) 
  )
}

table1::table1(~ITE_tech + tech + IMR_tech | REGION, data = results19, render.continuous = render.continuous.custom)

Gracias de antemano por su ayuda.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para agregar una fila que muestre el número de veces que cada variable toma el valor de 1 en la tabla resultante, puede modificar la función render.continuous.custom de la siguiente manera:

    render.continuous.custom <- function(x, ...) {
      attr(x, "label") <- NULL
      c(
        "",
        "Obs. Ef." = sum(x == 1),
        summarytools::descr(x)
      )
    }
    

    La función summarytools::descr proporcionará las estadísticas descriptivas predeterminadas para cada variable. Tenga en cuenta que se utiliza x en lugar de results19$tech == 1 para asegurarse de que la función funcione para las tres variables.

    Luego, puede utilizar la función modificada en la llamada table1 de la siguiente manera:

    table1::table1(
      ~ITE_tech + tech + IMR_tech | REGION, 
      data = results19, 
      render.continuous = render.continuous.custom
    )
    

    Esto producirá una tabla con una fila adicional que muestra el número de veces que cada variable toma el valor de 1 junto con las medidas de las estadísticas descriptivas predeterminadas.

Comments are closed.