hllinas

1 Introducción

Primero, debemos instalar y descargar las librerías que vamos a utilizar.

library(dplyr)
library(modeest)   # Para hallar la moda
library(moments)   # Para hallar las medidas de forma

2 Data frame

Recuerde que el data frame (básicamente una tabla) es en realidad solo un tipo específico de otra estructura de datos (la lista). Actualmente, es el formato de entrada de nuestros datos más frecuente para los análisis estadísticos (dentro de R, pero también para otros programas estadísticos y, por supuesto, para softwares de hojas de cálculo). Por esta razón, primero, es importante importar/cargar los datos antes de iniciar nuestro análisis. Esto ya se explicó en el documento Rpubs :: Importar datasets.

En los documentos Rpubs :: Examinar data frames y Rpubs :: Examinar data frames explicamos algunas funciones de R que nos permiten revisar propiedades de los data frames de las variables que contenidads en él. En Rpubs :: Recodificar variables describimos como recodificar las variables. Para más detalles relacionados con los data frames, se puede consultar el documento Rpubs :: data frames (generalidades).

3 Nuestro data frame

Vamos a utilizar un conjunto de datos, que fueron recogidos aplicando una encuesta a una muestra de estudiantes universitarios. Es un data frame con 400 observaciones y 46 variables, las cuales se describen en este enlace (click aquí). En este documento, se importará la base de datos desde una dirección web (dos opciones):

Opción A (web, desde github): Para esta opción, se necesita cargar la librería “repmis”:

library(repmis)
source_data("https://github.com/hllinas/DatosPublicos/blob/main/Estudiantes.Rdata?raw=false")
datosCompleto <- Estudiantes

Opción B (web, desde Google Drive):

url.dat<- "http://bit.ly/Database-Estudiantes"
datosCompleto <- read.delim(url.dat)

Recuérdense las otras opciones, si tienen las bases de datos descargadas en su sesión de trabajo (ya sea en extensiones en Rdata, en excel o en otros formatos). Para más detalles, véase el documento RPubs :: Importar datasets básico. A manera de ejemplo:

Opción C (local, con archivo en Rdata):

load(file="Estudiantes.Rdata")
datosCompleto <- Estudiantes

Opción D (local, con archivo en excel):

datosCompleto <- read.delim('clipboard')

4 Medidas estadísticas

Se pueden organizar en cuatro (4) grandes grupos, como se muestra en la figura de abajo. En cada grupo mencionamos solo algunas medidas.

4.0.1 Interpretaciones

  1. La media, varianza y desviación estándar no se interpretan.

  2. Si el coeficiente es próximo al 0%, significa que existe poca variabilidad en los datos y es una muestra muy compacta. En cambio, si tienden a 100% es una muestra muy dispersa.

4.0.2 Coeficiente de asimetría muestral (o de sesgo)

Es el promedio de las desviaciones de los valores de la muestra respecto de la media muestral, elevadas al cubo, dividido por la desviación típica al cubo. En fórmula:

\[\mbox{Sesgo}= \frac{\sum(x_i - \overline{x})^3\cdot f_i}{s^3} \]

Aquí: \(x_i\) es el $iésimo $dato, \(f_i\) es la frecuencia del \(i\)-ésimo dato, \(\overline{x}\) es la media de la muestra y \(s\) es la desviación estándar de la muestra.

El código para escribir la expresión anterior es:

$$\mbox{Sesgo}= \frac{\sum(x_i - \overline{x})^3\cdot f_i}{s^3}$$

Se dice que la distribución de los datos es:

  1. Asimétrica positiva o a la derecha (o positivamente sesgada): Si \(\mbox{Sesgo}>0\).

  2. Asimétrica negativa o a la izquierda (o netativamente sesgada): Si \(\mbox{Sesgo}<0\).

  3. Simétrica: si \(\mbox{Sesgo}=0\).

La imagen de abajo ilustra gráficamente lo explicado anteriormente.

4.0.3 coeficiente de apuntamiento muestral (o curtosis)

Es el promedio de las desviaciones de los valores de la muestra respecto de la media muestral, elevadas a la cuarta, dividido por la desviación típica a la cuarta y al resultado se le resta 3. En fórmula:

\[\mbox{Curtosis}= \frac{\sum(x_i - \overline{x})^4\cdot f_i}{s^4} - 3 \]

Aquí: \(x_i\) es el $iésimo $dato, \(f_i\) es la frecuencia del \(i\)-ésimo dato, \(\overline{x}\) es la media de la muestra y \(s\) es la desviación estándar de la muestra.

El código para escribir la expresión anterior es:

$$\mbox{Curtosis}= \frac{\sum(x_i - \overline{x})^4\cdot f_i}{s^4} - 3 $$

La distribución de los datos es:

  1. Platicúrtica, si existe una baja concentración de los valores en torno a su media (\(\mbox{Curtosis}<0\)).

  2. Mesocúrtica, si existe una concentración normal de los valores en torno a su media (\(\mbox{Curtosis}=0\)).

  3. Leptocúrtica, si existe una gran concentración de los valores en torno a su media (\(\mbox{Curtosis}>0\)).

La imagen de abajo ilustra gráficamente lo explicado anteriormente.

4.0.4 Función “summary”

En R, la función “summary” muestra un resumen general sobre las variables del data frame (mínimo, máximo, media, mediana, primer y tercer cuartil). Además, R reconoce que las variables categóricas, por lo que muestra la frecuencia de cada categoría.

summary(datosCompleto)

5 Estadísticos de una variable numérica

Ahora, vamos a revisar las medidas para una variable numérica en particular, digamos, las notas del tercer parcial (P3):

P3 <- as.numeric(datosCompleto$P3)
x<-P3

Algunos estadísticos de esta variable son:

min(x)                     #A) Mínimo
max(x)                     #B) Máximo
range(x)                   #C) obtenemos (min, max)
length(x)                  #D) Tamaño
sum(x)                     #E) Suma los valores de los datos

6 Medidas de tendencia central

6.0.1 Ejemplo 1: Enunciado

Hallar la media, media y moda de las calificaciones del tercer paracial. Interprete sus respuestas.

6.0.2 Ejemplo 1: Solución

  1. La media se calcula de la siguiente manera:

    mean(x)   #A) Media aritmética

    El valor de la media fue de 3.25125.

    Interpretación: La media no se interpreta.

  2. La mediana se puede obtener de dos maneras:

    median(x)                 #B) Mediana
    quantile(x, probs=0.5)    #C) Mediana o Segundo cuartil

    El valor de la mediana fue de 3.3.

    Interpretación: El 50% de los estudiantes obtuvo una nota en el tercer parcial menor o igual que 3.3.

  3. Hay varias formas de calcular la moda:

  1. Primera forma. Como no hay una función estándar para la moda, para ello hay que instalar la librería “modeest” y usar la función mfv.
mfv(x)    #D) Moda con la librería "modeest"
  1. Segunda forma. Definiendo y aplicando una función como se muestra a continuación:
moda=function(x) {   #E) Una función para hallar la moda
            q=table(x)
            q=sort(q,TRUE)
            return(q[1])
          }
moda(x)              #F) Moda 
  1. Tercera forma. Definiendo y aplicando otra función como se muestra a continuación:
Moda = function(x) {  #G) Otra función para hallar la moda
            q <- unique(x)
            q[which.max(tabulate(match(x, q)))]
          }
          
Moda(x)             #H) Moda

En cualquier caso, el valor de la moda fue 5.

Interpretación: La nota más frecuente fue de 5.0.

7 Medidas de dispersión o de variabilidad

7.0.1 Ejemplo 2: Enunciado

Calcule la varianza, la desviación estándar y el coeficiente de variación. Interprete sus respuestas.

7.0.2 Ejemplo 2: Solución

  1. La varianza se calcula de la siguiente manera:

    var(x)       #A) Varianza muestral

    El valor de la varianza fue de 0.9786952.

    Interpretación: La varianza no se interpreta.

  2. La desviación estándar (o desviación típica) se puede hallar de dos maneras:

    sqrt(var(x))      #B)  Desviación estándar muestral
    sd(x)             #C)  Desviación estándar muestral 

    El valor de la desviación estándar fue de 0.9892902.

    Interpretación: La desviación estándar no se interpreta.

  3. El coeficiente de variación se halla definiendo y aplicando una función:

    CV<-function(x){  #D) Funcion que permite calcular el coeficiente de variación
      y<-100*sd(x)/mean(x)
      return(y)
    }
    
    CV(x)            #E) Coeficiente de variación

    El valor del coeficiente de variación fue de 30.428.

    Interpretación: El porcentaje no es muy alto. Por lo tanto, las calificaciones del terecer parcial tienen una dispersión relativamente buena.

8 Medidas de posición relativa

8.0.1 Ejemplo 3: Enunciado

Calcule los percentiles 5 (\(P_5\)), 20 (\(P_{20}\)), 40 (\(P_{40}\)), 70 (\(P_{70}\)), los tres cuartiles (\(Q_1\), \(Q_2\), \(Q_3\)), los percentiles extremos (\(P_0\), \(P_{100}\)) y el rango intercuartil de las notas del tercer parcial. Interprete algunos de los resultados obtenidos.

8.0.2 Ejemplo 3: Solución

Los percentiles (y/o cuartiles) se pueden calcular de varias maneras, como se muestra a continuación:

quantile(x, probs=0.05)               #A) Percentil 5
quantile(x, probs=0.20)               #B) Percentil 20
quantile(x, probs=c(0.4,0.7))         #C) Percentiles 40 y 70
quantile(x)                           #D) Da los tres cuartiles y los percentiles extremos
quantile(x, probs=0.25)               #E) Primer cuartil 
quantile(x, probs=0.50)               #F) Segundo cuartil o mediana
quantile(x, probs=0.75)               #G) Tercer cuartil 
median(x [which (x <= median (x))])   #H) Primer cuartil. Compare con (E) 
median (x [which (x > median (x))])   #I) Tercer cuartil. Compare con (G) 

Observe que \(P_5=1.5\), \(P_{20}=2.4\), \(P_{40}=3.0\), \(P_{70}=3.8\), \(Q_1 =2.575\), \(Q_2=3.3\) (coincide con la mediana), \(Q_3=4.0\), \(P_0=1.0\) (coincide con el dato menor), \(P_{100}=5.0\) (coincide con el dato mayor).

Para el análisis exploratorio, se pueden utilizar las siguientes funciones, entre las cuales, se encuentran los valores mínimos, máximos y el rango intercuartil:

IQR(x)             #J). Rango intercuartílico 
fivenum(x)         #K) min, tres cuartiles, max
RI <- fivenum(x)[4]  - fivenum(x)[2]; RI #C. Rango intercuartílico

Interpretación: A manera de ejemplo, solo dos medidas, el percentil 20 y el tercer cuartil (véase imagen de abajo):

  1. El 20% de los estudiantes obtuvo una nota en el tercer parcial menor o igual que 2.4 y el 80%, una nota mayor que 2.4.

  2. El 75% de los estudiantes obtuvo una nota en el tercer parcial menor o igual que 4.0 y el 25%, una nota mayor que 4.0.

9 Medidas de forma

9.0.1 Ejemplo 4: Enunciado

Calcule el sesgo y la curtosis de las notas del tercer parcial. Interprete los resultados obtenidos.

9.0.2 Ejemplo 4: Solución

El sesgo y la curtosis se hallan de la librería “moments”.

skewness(x)    #A) Sesgo
kurtosis(x)    #B) Curtosis

Los valores del sego y la curtosis son -0.1090939 y 2.3837897, respectivamente.

Interpetación:

  1. Como el sesgo es negativo, podemos concluir que la distribución de estos datos es segada a la izquierda.

  2. Como la curtosis es menor que 3, podemos concluir que la distribución de los datos es platicúrtica.

10 Medidas de una etapa

Son todas las medidas calculadas de toda la muestra completa (sin particionar), como se indica en la imagen de abajo.

11 Medidas en dos etapas

Son las medidas calculadas en una partición de la muestra, ubicada en un segundo nivel. Se pueden calcular de dos maneras:

Caso 1: Medidas en todos los niveles categóricos.

Caso 2: Medidas dentro de un nivel categórico.

Explicaremos, a continuación, cada uno de estos casos.

11.1 Caso 1: Medidas en todos los niveles categóricos

Supongamos que se quiere calcular una medida (digamos, la media) para cada uno de los niveles de una variable categórica (digamos los colegios privados). Entonces aplicamos la función “tapply” para realizar la operación corespondiente.

La línea de comando básica es:

tapply(Numérica, Categórica, Medida)

Como se observa, esta función tiene tres argumentos:

  1. El primero, la variable numérica a la que queremos aplicar la función.
  2. El segundo, el factor para cada uno de cuyos niveles vamos a calcular la función.
  3. El tercero, la función que queremos calcular (en nuestro ejemplo, la media).

11.1.1 Ejemplo 5

La media de las calificaciones del tercer parcial para los colegios privados y para los públicos se halla de la siguiente manera:

tapply(x, datosCompleto$Colegio, mean)  #A) Media de P3 tanto en públicos como privados
##  Privado  Publico 
## 3.252577 3.250000

En la imagen de abajo se resume los resultados obtenidos.

11.2 Medida dentro de un nivel categórico

Supongamos que se quiere calcular una medida (digamos, la media de P3) para un nivel específico de una variable categórica (digamos los colegios privados). Primero, se aplica la función “filter” de la librería “dplyr” para filtrar y luego se obtiene la medida de interés.

11.2.1 Ejemplo 6

a) El promedio de las notas del tercer examen en los colegios privados fue:

datosCompleto%>%  filter(Colegio=="Privado")->Privados  #A) Grupo de los colegios privados
P3pr <- as.numeric(Privados$P3)                         #B) Parcial 3 dentro de colegios privados
mean(P3pr)                                              #C) Media de P3 en los colegios privados
## [1] 3.252577

b) El promedio de las notas del tercer examen en los colegios públicos fue:

datosCompleto%>%  filter(Colegio=="Publico")->Privados  #A) Grupo de los colegios publicos
P3pr <- as.numeric(Privados$P3)                         #B) Parcial 3 dentro de colegios públicos
mean(P3pr)                                              #C) Media de P3 en los colegios públicos
## [1] 3.25

Compare con los resultados con los del ejemplo 5.

12 Medidas en tres etapas

12.1 Primera forma

Consideremos solo un grupo de interés (digamos, colegios privados). Supongamos que, dentro de ese grupo, se quiere calcular una medida (digamos, la media de P3) para cada uno de los niveles de otra variable categórica (digamos, el Sexo). Entonces, primero, se aplica la función “filter” de la librería “dplyr” para filtrar y, después, la función “tapply” para realizar la operación corespondiente.

12.1.1 Ejemplo 7

a) Supongamos que nuestro grupo de interés son los colegios privados. La media de las notas del tercer paracial obtenidas por los hombres y las mujeres se obtienen así:

datosCompleto%>%  filter(Colegio=="Privado")->Privados  #A) Grupo los colegios privados
P3pr <- as.numeric(Privados$P3)                        #B) Parcial 3 dentro de colegios privados
tapply(P3pr, Privados$Sexo, mean)                       #C) En Privados: Media de P3 en masculino y femenino
##  Femenino Masculino 
##  3.204717  3.310227

b) Supongamos que nuestro grupo de interés son los colegios públicos. La media de las notas del tercer paracial obtenidas por los hombres y las mujeres se obtienen así:

datosCompleto%>%  filter(Colegio=="Publico")->Privados  #A) Grupo los colegios privados
P3pr <- as.numeric(Privados$P3)                        #B) Parcial 3 dentro de colegios privados
tapply(P3pr, Privados$Sexo, mean)                       #C) En Privados: Media de P3 en masculino y femenino
##  Femenino Masculino 
##   3.29619   3.20198

c) En la imagen de abajo se resumen los resultados obtenidos en los incisos a y b.

12.2 Segunda forma

12.2.1 Ejemplo 8

Otra forma de hallar la nota promedio de P3 (considerando la situación anterior) es como se muestra a continuación (se le han agregado otras medidas a manera de ejemplo):

datosCompleto %>%   filter(Colegio=="Privado") %>%   group_by(Sexo)  %>% 
  
             summarise(n = length(as.numeric(P3)),
             Promedio = mean(as.numeric(P3)),
             Desviacion = sd(as.numeric(P3)),
             Minimo = min(as.numeric(P3)),
             Maximo = max(as.numeric(P3))) 
## # A tibble: 2 x 6
##   Sexo          n Promedio Desviacion Minimo Maximo
##   <chr>     <int>    <dbl>      <dbl>  <dbl>  <dbl>
## 1 Femenino    106     3.20      0.964      1      5
## 2 Masculino    88     3.31      0.907      1      5

13 Ejercicios

Crear un nuevo documento R Markdown, realizando las actividades que se indican abajo. Interprete los resultados hallados.

  1. Considere la variable Edad. Halle: el mínimo, el máximo, la media, la mediana, la moda, la varianza, la desviación estándar, el rango, los cuartiles, algunos percentiles (por ejemplo, 33, 76, 80) en los siguientes grupos (donde sea necesario, puede utilizar la función filter):

    1. Todos los estudiantes.
    2. Solo el grupo de las mujeres.
    3. Solo el grupo de los hombres.Compare con lo anterior.
    4. Solo los estudiantes que están de acuerdo con que le gusta la estadística (considere la variable STAS1).
    5. Solo los estudiantes que están en desacuerdo con que le gusta la estadística (considere la variable STAS1). Compare con lo anterior.
  2. Considere la variable Segundo parcial. Repita el ejercicio anterior.

  3. Considere la variable otra variable numérica y repita el ejercicio anterior.

  4. Considere la variable Edad. Halle: el mínimo, el máximo, la media, mediana, moda, varianza, desviación estándar, el rango, los cuartiles, algunos percentiles (por ejemplo, 33, 76, 80) en los siguientes grupos (donde sea necesario, puede utilizar la función tapply):

    1. En cada nivel de Sexo.
    2. En cada nivel de STAS1.
  5. Considere la variable que representa el examen final (“Final”). Repita el ejercicio anterior.

  6. Considere la variable otra variable numérica y repita el ejercicio anterior.

  7. Calcule medidas en dos etapas.

  8. Calcule medidas en tres etapas.

Bibliografía

  1. LLinás, H., Rojas, C. (2005); Estadística descriptiva y distribuciones de probabilidad. Barranquilla: Editorial Universidad del Norte.

  2. Consultar el documento RPubs :: Enlace y materiales de ayuda.

 

 
If you found any ERRORS or have SUGGESTIONS, please report them to my email. Thanks.