2015-07-21

Subconjunto de estadísticas descriptivas en R

Title

Problema

Deseamos calcular las estadísticas descriptivas para unas variables de un data frame. Esta vez, queremos seleccionar tanto las estadísticas como las variables de la tabla.

Solución

Utilizaremos el data frame iris, pero solamente para las columnas Sepal.Length y Sepal.Width. En nuestro ejemplo, calcularemos la media (mean), la desviación típica (SD), la asimetría (skewness) y la curtosis (kurtosis). Pero

  • Para una tabla
  • library("psych")
    # Seleccionamos las columnas deseadas de la tabla
    d <- describe(iris[1:2])
    # Seleccionamos las estadísticas deseadas
    d[, c(3, 4, 11, 12)]
    
                 mean   sd skew kurtosis
    Sepal.Length 5.84 0.83 0.31    -0.61
    Sepal.Width  3.06 0.44 0.31     0.14
    
  • Estadísticas por grupo
  • # Variables por índice
    d <- describeBy(iris[1:2], group = iris$Species)
    # Dos opciones para seleccionar las estadísticas
    # de la lista de data frames
    lapply(d, "[", , c(3, 4, 11, 12))
    lapply(d, subset, , c(3, 4, 11, 12)) 
    
    # Variables por nombre
    i <- match(c("Sepal.Length", "Petal.Length"), names(iris))
    d <- describeBy(iris[i], group = iris$Species)
    lapply(d, subset, , c("mean", "sd", "skew", "kurtosis")) 
    
    $setosa
                 mean   sd skew kurtosis
    Sepal.Length 5.01 0.35 0.11    -0.45
    Sepal.Width  3.43 0.38 0.04     0.60
    
    $versicolor
                 mean   sd  skew kurtosis
    Sepal.Length 5.94 0.52  0.10    -0.69
    Sepal.Width  2.77 0.31 -0.34    -0.55
    
    $virginica
                 mean   sd skew kurtosis
    Sepal.Length 6.59 0.64 0.11    -0.20
    Sepal.Width  2.97 0.32 0.34     0.38
    

    Referencias

    No hay comentarios:

    Publicar un comentario

    Nube de datos