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
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
# 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