hllinas2023

1 Paquetes

library(dplyr)  #A) Para filtrar data frames

2 Nuestro data frame

Los siguientes datos representan los resultados obtenidos al realizar una encuesta a 400 estudiantes universitarios. 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 R 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')

El objetivo es realizar los ejercicios que se indican en las secciones de abajo.

3 Tabla de supuestos

El objetivo es realizar los ejercicios que se indican en las siguientes secciones, teniendo en cuenta la tabla de supuestos que se muestra abajo.

4 Ejemplo 1: Enunciado

Realizar los siguientes ejercicios. Suponga que la población es normal. Interprete todas sus respuestas.

a) Considere solamente las observaciones que van desde la 2 hasta la 35. Con estas observaciones, defina el data frame "datos2a35". Verifique su tamaño, variables y estructura.
   
b) Dentro de "datos2a35": Defina el objeto "P3" como la variable que representa las calificaciones del tercer parcial.
   
c) Dentro de "datos2a35": Halle la media,  varianza y  desviación estándar de P3. 

d) Dentro de "datos2a35": Resuma las tres medidas anteriores en una tabla.

e)  Dentro de "datos2a35": Encuentre un intervalo del 95% de confianza para el promedio poblacional de las calificaciones del tercer parcial. Escriba un resumen del enunciado del problema, verifique los supuestos, concluya, diga cuál es la fórmula, halle el intervalo e interprete. 

f) Dentro de "datos2a35": Con Geogebra (https://www.geogebra.org/classic#probability), construya el mismo intervalo del inciso (e) y compare los resultados obtenidos. 

5 Ejemplo 1: Solución

5.0.1 Solución parte (a)

Filtramos y definimos como “datos2a35” al data frame con las observaciones del 2 al 35:

datos2a35 <- datosCompleto[2:35,]     #A) La nueva base de datos
n <- nrow(datos2a35); n               #B) Número observaciones (tamaño muestral)
## [1] 34

El número de observaciones y de variables se pueden revisar con:

dim(datos2a35)                        #C) Número observaciones y número de variables

Observamos que tamaño muestral es \(n=\) 34. Para revisar estructura y variables del data frame:

str(datos2a35)      #D) Estructura
names(datos2a35)    #E) Variables

5.0.2 Solución parte (b)

Definimos la variable numérica:

P3 <- as.numeric(datos2a35$P3)         #F) La variable P3 en "datos2a35"

5.0.3 Solución parte (c)

Calculamos la media, varianza y desviación de las calificaciones del tercer parcial (P3):

xbarra <- mean(P3); xbarra     #G) Media muestral
## [1] 3.611765
v <- var(P3); v                #H) Varianza (muestral)
## [1] 0.4471301
s <- sd(P3); s                 #I) Desviación estándar (muestral)
## [1] 0.6686779

La media, varianza y desviación estándar de P3 son \(\overline{x}=\) 3.6117647, \(s^2=\) 0.4471301 y \(s=\) 0.6686779, respectivamente.

5.0.4 Solución parte (d)

Estas tres medidas se pueden resumir así:

datos2a35 %>% summarise(Media=mean(P3), Varianza=var(P3), Desviacion=sd(P3))
## # A tibble: 1 × 3
##   Media Varianza Desviacion
##   <dbl>    <dbl>      <dbl>
## 1    NA    0.447      0.669

5.0.5 Solución parte (e)

1. Datos:
    * Unidades experimentales: Los estudiantes.
    * Población: Las calificaciones del tercer parcial.
    * Estadístico: la media muestral de las calificaciones.
    * Parámetro: la media poblacional de las calificaciones.
    * Tamaño muestral: n=34.
    * Tamaño poblacional: N es desconocido.
    * Grado de confianza: 95%.
    * Nivel de significancia: 5%.
    * Otros datos: media muestral=3.6117647 y desviación muestral=0.6686779.

2. Verificación de supuestos:
   De acuerdo a los datos y a la tabla de supuestos (caso 2), tenemos que:
    * La forma de la población es normal.
    * La varianza poblacional es desconocida.
    * El tamaño muestral es grande (n> 30).

3. Conclusión: 
   La distribución muestral de la media muestral es normal.

4. Fórmula: 
   Es la que aparece en la última columna del caso 2, es decir, 
   

\[\overline{x} \,-\, Z_{\alpha/2} \frac{s}{\sqrt{n}}\; < \;\mu \; <\; \overline{x} \,+\, Z_{\alpha/2} \frac{s}{\sqrt{n}} \]

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

$$\overline{x} \,-\, Z_{\alpha/2} \frac{s}{\sqrt{n}}\; < \;\mu \; <\; \overline{x} \,+\, Z_{\alpha/2} \frac{s}{\sqrt{n}} $$  
5. Cálculos: 
alfa <- 0.05
media <- xbarra
desviacion <- s
muestra <- n

El error estándar (es decir, la desviación estándar del estadístico) es:

ES <- s/sqrt(n); ES  # Error estándar
## [1] 0.1146773

El valor crítico (o valor cuantil de la distribución normal) es:

Critico <- qnorm(1- (alfa/2))

El error de estimación (o margen de error) es

Margen <- Critico*ES; Margen
## [1] 0.2247634

El ancho o ampitud del intervalo es 2 veces el margen del error:

2*Margen
## [1] 0.4495268

Los límites del intervalo son:

izquierdo <- xbarra - Margen; izquierdo 
## [1] 3.387001
derecho <- xbarra + Margen; derecho
## [1] 3.836528

El intervalo también se puede obtener así:

Intervalo <- xbarra + c(-Margen, Margen)
Intervalo
## [1] 3.387001 3.836528

Es decir, \[3.39 \; < \; \mu \; < \; 3.84 \]

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

$$3.39 \; < \; \mu \; < \; 3.84 $$ 
6. Interpretación: Con una confianza del 95%, podemos afirmar que el promedio poblacional de las calificaciones del tercer parcial de todos los estudiantes se encuentra entre 3.39 y 3.84. 

5.0.6 Solución parte (f)

En la imagen de abajo se puede observar que, con Geogebra, se obtienen los mismos resultados.

6 Ejemplo 2: Enunciado

Realizar los siguientes ejercicios. Suponga que la población es normal. Interprete todas sus respuestas.

a) Considere el data frame "datos2a35", definido en el ejemplo 1. Dentro de "datos2a35", defina el objeto "Fuma" como la variable que indica si el estudiante es fumador o no.

b) Dentro de "datos2a35": Construya la tabla de frecuencias para esta variable y el diagrama de barras correspondiente (con colores, título principal, título en los ejes, etc.).

c) Dentro de "datos2a35": Defina el data frame "Fumadores" (obtenido al filtrar "datos2a35"), que representa a los estudiantes fumadores. Verifique su tamaño, variables y estructura.

d) Dentro de "Fumadores":  Defina el objeto "P3F" que representa las calificaciones del tercer parcial.
  
e) Dentro de "Fumadores": Halle la media,  la varianza y  la desviación estándar de P3F. 

f) Dentro de "Fumadores": Resuma las tres medidas anteriores en una tabla.

g) Dentro de "datos2a35": Halle la media,  la varianza y  la desviación estándar de las calificaciones del tercer parcial dentro de cada nivel de Fuma. Sugerencia: utilizar las funciones "group_by" y "summarise". compare con (e).

h)  Dentro de "Fumadores": Encuentre un intervalo del 95% de confianza para el promedio poblacional de las calificaciones del tercer parcial. Escriba un resumen del enunciado del problema, verifique los supuestos, concluya, diga cuál es la fórmula, halle el intervalo e interprete. 

i) Dentro de "Fumadores": Construya el mismo intervalo del inciso (h) con la función t.test y compare los resultados obtenidos.

j) Dentro de "Fumadores": Con Geogebra (https://www.geogebra.org/classic#probability), construya el mismo intervalo del inciso (h) y compare los resultados obtenidos.

7 Ejemplo 2: Solución

7.0.1 Solución parte (a)

Como la variable “Fuma” es categórica se debe definir como factor:

Fuma <- as.factor(datos2a35$Fuma)        #F) La variable

Se puede revisar esta variable:

levels(Fuma)
class(Fuma)

7.0.2 Solución parte (b)

La tabla de frecuencias no agrupadas para la variable fumadores es:

Cuentas <- table(Fuma); Cuentas   #A) Tabla de frecuencias 
## Fuma
## No Si 
## 14 20

Se observa que en el muestra de 34 observaciones, hay 14 fumadores y 20 no fumadores. El diagrama de barras:

barplot(Cuentas, main="Diagrama de barras", xlab="¿Fuma?", ylab="Frecuencias", legend = rownames(Cuentas), col=c("green","red"),      ylim = c(0, 30))

Se pueden escoger más colores para las barra dando click en este aquí.

7.0.3 Solución parte (c)

Filtramos nuestra base de datos:

Fumadores <- datos2a35 %>%  filter(Fuma=="Si")   #F) La nueva base de datos
n <- nrow(Fumadores); n               #G) Número observaciones (tamaño muestral)
## [1] 20

El número de observaciones y de variables se pueden revisar con:

dim(Fumadores)                        #C) Número observaciones y número de variables 

Observamos que tamaño muestral es \(n=\) 20. Para revisar estructura y variables del data frame:

str(Fumadores)      #D) Estructura
names(Fumadores)    #E) Variables

7.0.4 Solución parte (d)

Definimos la variable numérica:

P3F <- as.numeric(Fumadores$P3)         #K) La variable P3 en "datos2a35"

Se puede revisar las propiedades de esta variable:

levels(P3F)
class(P3F)

7.0.5 Solución parte (e)

Calculamos la media, varianza y desviación de P3F dentro de “Fumadores”:

xbarra <- mean(P3F); xbarra     #L) Media muestral
## [1] 3.555
v <- var(P3F); v                #M) Varianza (muestral)
## [1] 0.6120789
s <- sd(P3F); s                 #N) Desviación estándar (muestral)
## [1] 0.7823547

La media, varianza y desviación estándar de P3F son \(\overline{x}=\) 3.555, \(s^2=\) 0.6120789 y \(s=\) 0.7823547, respectivamente.

7.0.6 Solución parte (f)

Las tres medidas se pueden resumir así:

Fumadores %>%  summarise(Media=mean(P3F), Varianza=var(P3F), Desviacion=sd(P3F))
## # A tibble: 1 × 3
##   Media Varianza Desviacion
##   <dbl>    <dbl>      <dbl>
## 1  3.56    0.612      0.782

7.0.7 Solución parte (g)

De manera más general, pueden hallarse estas medidas dentro de cada nivel de Fuma así:

datos2a35 %>%  group_by(Fuma)%>% summarise(Media=mean(P3), Varianza=var(P3), Desviacion=sd(P3))
## # A tibble: 2 × 4
##   Fuma  Media Varianza Desviacion
##   <chr> <dbl>    <dbl>      <dbl>
## 1 No       NA    0.228      0.478
## 2 Si       NA    0.612      0.782

7.0.8 Solución parte (h)

1. Datos:
    * Unidades experimentales: Los estudiantes que fuman.
    * Población: Las calificaciones del tercer parcial dentro de los fumadores.
    * Estadístico: la media muestral de las calificaciones dentro de los fumadores.
    * Parámetro: la media poblacional de las calificaciones dentro de los fumadores.
    * Tamaño muestral: n=20.
    * Tamaño poblacional: N es desconocido.
    * Grado de confianza: 95%.
    * Nivel de significancia: 5%.
    * Otros datos: media muestral=3.555 y desviación muestral=0.7823547.

2. Verificación de supuestos:
   De acuerdo a los datos y a la tabla de supuestos (caso 3), tenemos que:
    * La forma de la población es normal.
    * La varianza poblacional es desconocida.
    * El tamaño muestral es pequeña (n< 30).

3. Conclusión: 
   La distribución muestral de la media muestral es la t de Student con v=n-1 grados de libertad.

4. Fórmula: 
   Es la que aparece en la última columna del caso 3, es decir, 

\[\overline{x} \,-\, t_{\alpha/2} \frac{s}{\sqrt{n}}\; < \;\mu \; <\; \overline{x} \,+\, t_{\alpha/2} \frac{s}{\sqrt{n}} \]

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

$$\overline{x} \,-\, t_{\alpha/2} \frac{s}{\sqrt{n}}\; < \;\mu \; <\; \overline{x} \,+\, t_{\alpha/2} \frac{s}{\sqrt{n}} $$
5. Cálculos: 
alfa <- 0.05
media <- xbarra
desviacion <- s
muestra <- n

El error estándar (es decir, la desviación estándar del estadístico) es:

ES <- s/sqrt(n); ES  # Error estándar
## [1] 0.1749398

El valor crítico (o valor cuantil de la distribución t de Student) es:

glib <- n-1
Critico <- qt(1-(alfa/2), glib)  

El error de estimación (o margen de error) es

Margen <- Critico*ES; Margen
## [1] 0.3661533

El ancho o ampitud del intervalo es 2 veces el margen del error:

2*Margen
## [1] 0.7323066

Los límites del intervalo son:

izquierdo <- xbarra - Margen; izquierdo
## [1] 3.188847
derecho <- xbarra + Margen; derecho
## [1] 3.921153

El intervalo también se puede obtener así:

Intervalo <- xbarra + c(-Margen, Margen)
Intervalo
## [1] 3.188847 3.921153

Es decir, \[3.19 \; < \; \mu \; < \; 3.92 \]

El código para escribir la expresión anterior es:
$$3.18 \; < \; \mu \; < \; 3.92 $$
6. Interpretación: Cuando los estudiantes fuman, con una confianza del 95%, podemos afirmar que el promedio poblacional de las calificaciones del tercer parcial de todos los estudiantes se encuentra entre 3.18 y 3.92. 

7.0.9 Solución parte (i)

Con la función t.test se obtienen los mismo resultados.

Prueba <-t.test(P3F, conf.level =0.95)
Resultado <- Prueba$conf.int
Intervalo <- Resultado[1:2]; Intervalo
## [1] 3.188847 3.921153

7.0.10 Solución parte (j)

En la imagen de abajo se puede observar que, con Geogebra, se obtienen los mismos resultados.

8 Ejemplo 3: Enunciado

Comparar los intervalos hallados en los ejemplos 1 y 2 y dé conclusiones.

9 Ejemplo 3: Solución

  1. En el ejemplo 1 (con \(n=\) 34): \[3.39 \; < \; \mu \; < \; 3.84\]

  2. En el ejemplo 2 (con \(n=\) 20): \[3.19 \; < \; \mu \; < \; 3.92\]

Se observa que cuando el tamaño muestral disminuye, el ancho del intervalo se amplía. Es decir, el error muestral aumenta.

10 Ejercicios

Crear un nuevo documento R Markdown, realizando los ejercicios que se indican abajo.

  1. Repetir el ejemplo 1, utilizando un grado de confianza del

    1. 90%

    2. 99%

    Compare los intervalos hallados.

  2. Repetir el ejemplo 2, utilizando como referencia el grupo de los no fumadores y un grado de confianza del

    1. 90%

    2. 99%

    Compare los intervalos hallados.

  3. Compare los ejercicios:

    1. 1a y 2a
    2. 1b y 2b
  4. Repetir el ejemplo 2, utilizando como referencia el grupo de los hombres y un grado de confianza del

    1. 90%

    2. 99%

    Compare los intervalos hallados.

  5. Compare los ejercicios:

    1. 1a y 4a
    2. 1b y 4b
  6. Repetir el ejemplo 3, utilizando como referencia el grupo de las mujeres y un grado de confianza del

    1. 90%

    2. 99%

    Compare los intervalos hallados.

  7. Compare los ejercicios:

    1. 1a y 6a
    2. 1b y 6b
  8. Realizar los siguientes ejercicios. Suponga que la población es normal. Interprete todas sus respuestas.

    1. Considere el data frame “datos2a35”, definido en el ejemplo 1. Dentro de “datos2a35”, defina el objeto “Colegio” como la variable que indica el tipo de colegio de procedencia de los estudiantes.

    2. Dentro de “datos2a35”: Construya la tabla de frecuencias para esta variable y el diagrama de barras correspondiente (con colores, título principal, título en los ejes, etc.).

    3. Dentro de “datos2a35”: Defina el data frame “Privado” (obtenido al filtrar “datos2a35”), que representa a los estudiantes que vienen de colegios privados. Verifique su tamaño, variables y estructura.

    4. Dentro de “Privado”: Defina el objeto “P2” que representa las calificaciones del segundo parcial.

    5. Dentro de “Privado”: Halle la media, la varianza y la desviación estándar de P2.

    6. Dentro de “Privado”: Resuma las tres medidas anteriores en una tabla.

    7. Dentro de “datos2a35”: Halle la media, la varianza y la desviación estándar de las calificaciones del segundo parcial dentro de cada nivel de “Colegio”. Sugerencia: utilizar las funciones “group_by” y “summarise”. compare con (e).

    8. Dentro de “Privado”: Encuentre un intervalo del 99% de confianza para el promedio poblacional de las calificaciones del segundo parcial. Escriba un resumen del enunciado del problema, verifique los supuestos, concluya, diga cuál es la fórmula, halle el intervalo e interprete.

    9. Dentro de “Privado”: Construya el mismo intervalo del inciso (h) con la función t.test y compare los resultados obtenidos.

    10. Dentro de “Privado”: Con Geogebra (https://www.geogebra.org/classic#probability), construya el mismo intervalo del inciso (h) y compare los resultados obtenidos.

  9. Realizar los siguientes ejercicios. Suponga que la población es normal. Interprete todas sus respuestas.

    1. Considere el data frame “datos2a35”, definido en el ejemplo 1. Dentro de “datos2a35”, defina el objeto “Colegio” como la variable que indica el tipo de colegio de procedencia de los estudiantes.

    2. Dentro de “datos2a35”: Construya la tabla de frecuencias para esta variable y el diagrama de barras correspondiente (con colores, título principal, título en los ejes, etc.).

    3. Dentro de “datos2a35”: Defina el data frame “Publico” (obtenido al filtrar “datos2a35”), que representa a los estudiantes que vienen de colegios privados. Verifique su tamaño, variables y estructura.

    4. Dentro de “Publico”: Defina el objeto “P2” que representa las calificaciones del segundo parcial.

    5. Dentro de “Publico”: Halle la media, la varianza y la desviación estándar de P2.

    6. Dentro de “Publico”: Resuma las tres medidas anteriores en una tabla.

    7. Dentro de “datos2a35”: Halle la media, la varianza y la desviación estándar de las calificaciones del segundo parcial dentro de cada nivel de “Colegio”. Sugerencia: utilizar las funciones “group_by” y “summarise”. Compare con (e).

    8. Dentro de “Publico”: Encuentre un intervalo del 99% de confianza para el promedio poblacional de las calificaciones del segundo parcial. Escriba un resumen del enunciado del problema, verifique los supuestos, concluya, diga cuál es la fórmula, halle el intervalo e interprete.

    9. Dentro de “Publico”: Construya el mismo intervalo del inciso (h) con la función t.test y compare los resultados obtenidos.

    10. Dentro de “Publico”: Con Geogebra (https://www.geogebra.org/classic#probability), construya el mismo intervalo del inciso (h) y compare los resultados obtenidos.

11 Enlaces y materiales de ayuda

  1. LLinás, H., Estadística inferencial. Barranquilla: Editorial Universidad del Norte, 2006.

  2. Geogebra: https://www.geogebra.org