La estadística descriptiva como su nombre lo indica, busca describir la información que se contiene en una base de datos. Esta descripción debe ser de manera resumida y se puede realizar mediante medidas estadísticas, tablas o gráficas. Hay que tener en cuenta los tipos de datos (variables):
Cualitativos: Nos suministran características o tributos, estado civil (casado o soltero), nivel de educación (Profesional, Maestría, Doctorado), nacionalidad, entre otras. Cabe destacar que en la base de datos podemos tener, por ejemplo, estado civil 1 o 0, pero aunque se identifique como un número estos estan representando una característica 1 = casado, 0 = soltero. Estos se subdividen en:
Cuantitativos: Resultan de hacer mediciones o conteos. Una forma de pensarlo es que pueden ser números reales, (0.01 ,0.02455, 2.3644, 2, 5, 1000). También se dividen en dos:
Estas son medidas numéricas que se pueden calcular para describir la información de mediciones en una población o una muestra. Recuerde
\[\textit{En la práctica los estadísticos pueden usarse como estimadores de los parámetros}\] Para explicar lo siguiente utilizaré los siguientes datos ficticios, donde cada fila representa a una persona que constesta un cuestionario. Las columnas representan:
¿Y si quiero utilizar mis datos, pero no los se subir a R ?
Para obtener la media de alguna de nuestras variables cuantitativas lo único que debemos utilizar es la función mean. De nuestros datos podemos seleccionar alguna columna con el signo dolar después del nombre del objeto que los contiene $.
mean(datos$Estatura)
## [1] 1.751784
De este modo tendría que ir variable por variable obteniendo la media. Pero si necesita obtener las medias para varias de sus variables. Puede utilizar la función apply que permite ejecutar una función a través de las filas o las columnas (en este caso las necesitamos por columnas). Para esto tenemos que tener en cuenta dos cosas:
as.matrix(datos[,2:4]). Esto me selecciona todas las filas de las columnas 2, 3 y 4.Ahora si, si utilizo apply
apply(as.matrix(datos[,2:4]), 2,mean)
## Estatura peso Ingresos
## 1.751784 74.950895 1691.571387
El número 2 en la función apply representa que queremos obetener las medias por columna
Otra opción para esto es utilizar la función lapply que nos permita aplicar la función mean sin necesidad de transformar nuestros datos a matriz.
lapply(datos[,2:4], mean)
## $Estatura
## [1] 1.751784
##
## $peso
## [1] 74.95089
##
## $Ingresos
## [1] 1691.571
unlist(lapply(datos[,2:4], mean)) # unlist -> para no verlo como lista
## Estatura peso Ingresos
## 1.751784 74.950895 1691.571387
Para calcular la mediana se utiliza la función median
median(datos$Estatura)
## [1] 1.745236
apply(as.matrix(datos[,2:4]),2, median)
## Estatura peso Ingresos
## 1.745236 74.249273 1685.955004
unlist(lapply(datos[,2:4], median)) # unlist -> para no verlo como lista
## Estatura peso Ingresos
## 1.745236 74.249273 1685.955004
Para obtener la varianza y la desviación estándar de alguna de nuestras variables cuantitativas lo único que debemos utilizar es la función var o sd respectivamente.
var(datos$Estatura)
## [1] 0.01022664
sd(datos$peso)
## [1] 11.43892
del mismo que con en el ejemplo de la media podemos utilizar la función apply y lapply.
apply(as.matrix(datos[,2:4]), 2, sd)
## Estatura peso Ingresos
## 0.1011269 11.4389220 106.1694843
unlist(lapply(datos[,2:4], sd)) # unlist -> para no verlo como lista
## Estatura peso Ingresos
## 0.1011269 11.4389220 106.1694843
Para obtener los cuantiles podemos utilizar la función cuantile. Si la utilizamos sobre una de nuestras variables cuantitativas nos arrojará por defecto 0% (mínimo), 25% (cuantil 1), 50% (cuantil 2), 75% (cuantil 3) y 100% máximo.
quantile(datos$Estatura)
## 0% 25% 50% 75% 100%
## 1.461108 1.687647 1.745236 1.820865 2.014917
Si queremos obtener uno en especifico lo que debemos hacer es utilizar la opción probs dentro de la misma función quantile.
quantile(datos$Estatura, probs = 0.25) #-> Si solo deceamos uno en específico.
## 25%
## 1.687647
quantile(datos$Estatura, probs = c(0.25, 0.75)) #-> dos o mas utilizamos c(valor1, valor2,...)
## 25% 75%
## 1.687647 1.820865
Los debemos solicitar a través de la opción probs. Por ejemplo, el percentil 20 es el que cumula el 20% de los datos y lo podemos obtener mediante
quantile(datos$Estatura, probs = 0.20)
## 20%
## 1.671676
y de igual modo podemos solicitar varios de estos.
quantile(datos$Estatura, probs = c(0.10, 0.15 ,0.20))
## 10% 15% 20%
## 1.621292 1.645260 1.671676
Aquí se debe recalcar que R tiene la opción de 9 algoritmos distintos par al cálculo de los cuantiles, por defecto utiliza el 7. Si desea ver detalles de esto puede consultar aquí.
¿Y si sólo quiero dar una vista rápida de la información?
Puede utilizar la función summary que le generará un resumen rápido de la información:
summary(datos)
## Helado Estatura peso Ingresos Educacion
## Length:200 Min. :1.461 Min. : 39.96 Min. :1406 1:61
## Class :character 1st Qu.:1.688 1st Qu.: 67.24 1st Qu.:1624 2:34
## Mode :character Median :1.745 Median : 74.25 Median :1686 3:56
## Mean :1.752 Mean : 74.95 Mean :1692 4:49
## 3rd Qu.:1.821 3rd Qu.: 82.08 3rd Qu.:1768
## Max. :2.015 Max. :111.84 Max. :1968
## Hijos
## Min. :0.000
## 1st Qu.:0.000
## Median :1.000
## Mean :0.955
## 3rd Qu.:2.000
## Max. :2.000
Note que para la variable Helado nos dice que un caracter por tanto no realiza ninguna acción. Esto lo podemos corregir convirtiendo la variable Helado en factor utilizando la sentencia as.factor(datos$Helado).
datos$Helado = as.factor(datos$Helado)
summary(datos)
## Helado Estatura peso Ingresos Educacion
## Chocolate:41 Min. :1.461 Min. : 39.96 Min. :1406 1:61
## Coco :43 1st Qu.:1.688 1st Qu.: 67.24 1st Qu.:1624 2:34
## Fresa :42 Median :1.745 Median : 74.25 Median :1686 3:56
## Maracuyá :33 Mean :1.752 Mean : 74.95 Mean :1692 4:49
## Mora :41 3rd Qu.:1.821 3rd Qu.: 82.08 3rd Qu.:1768
## Max. :2.015 Max. :111.84 Max. :1968
## Hijos
## Min. :0.000
## 1st Qu.:0.000
## Median :1.000
## Mean :0.955
## 3rd Qu.:2.000
## Max. :2.000