Curso: Estadística Inferencial
Profesor: Humberto Llinás
Grupo: 05

Resumen

Se realizaron seis pruebas de hipótesis con la base de datos survey, usando 120 datos para Muestra1 y 28 para Muestra2. Se analizaron Weight, Score, Law y Like. Para las medias se usó la distribución normal en Muestra1 y la t de Student en Muestra2; para las proporciones se usó la distribución normal. Todas las pruebas fueron de dos lados, con un nivel de 0.05 y valores de referencia de 75 kg, 35 puntos y 0.50.

Solo Score en Muestra1 tuvo un resultado significativo (p-valor de 0.0153). Las otras cinco pruebas no mostraron resultados suficientes para rechazar la hipótesis inicial. Muestra2 comparte sus primeros 28 datos con Muestra1, por lo que no son independientes. En las pruebas Z se usó la desviación estándar de la muestra porque no se conocía la de toda la población. Finalmente, los resultados tienen algunas limitaciones, ya que se utilizaron las primeras filas de la base de datos y no una selección aleatoria. Además, se asumió que los datos seguían una distribución normal. .

Palabras clave: Pruebas de hipótesis, comparación de muestras, medias, proporciones, varianza y significancia estadística.

Introducción

El objetivo de este trabajo es formular, realizar e interpretar pruebas de hipótesis para medias y proporciones de la base survey.

Usamos la selección de Weight, Score, Law y Like, junto con las muestras de 120 y 28 observaciones. Se aplican dos pruebas Z para medias, dos pruebas t para medias y dos pruebas Z para proporciones. En cada caso se presentan las hipótesis, las estadísticas muestrales, el p-valor, la decisión y la interpretación. # Marco teórico

La hipótesis nula (H₀) plantea que no hay una diferencia significativa, mientras que la hipótesis alternativa (H₁) propone que sí puede existir una diferencia. Para este análisis se utiliza un nivel de significancia de 0.05.

La decisión se toma comparando el p-valor con ese nivel: si es menor o igual a 0.05, se rechaza H₀; si es mayor, no se rechaza. Esto no quiere decir que la hipótesis nula sea completamente verdadera.

Para realizar las pruebas se utilizan las funciones ph_media_z(), ph_media_t() y ph_proporcion(). Todas son pruebas bilaterales (alternative = “two.sided”), es decir, permiten identificar si el resultado es mayor o menor que el valor de referencia.

Metodología

Se utiliza la base de datos survey, de la cual se toman las primeras 120 filas para Muestra1 y las primeras 28 para Muestra2. Se trabajan las variables Weight, Score, Law y Like, además de Course, que permite comparar dos grupos.

Para las pruebas se usan como valores de referencia 75 para Weight, 35 para Score y 0.50 para las proporciones. Estos valores sirven como punto de comparación durante el análisis.

Los cálculos se realizan con las funciones mean(), sd(), nrow() y sum(). También se utilizan tres funciones para las pruebas de hipótesis. En las pruebas Z se usa la desviación estándar de la muestra como una aproximación, mientras que para la muestra pequeña se utiliza la distribución t de Student, ya que no se conoce la desviación estándar de toda la población.

1. Conociendo la base de datos

library(lsm)   # Base de datos del curso
library(knitr) # Tablas de resultados

datosCompleto <- lsm::survey
# Número de observaciones y variables
dim(datosCompleto)
## [1] 800  66
# Nombres de todas las variables
names(datosCompleto)
##  [1] "Observation"  "ID"           "Gender"       "Like"         "Age"         
##  [6] "Smoke"        "Height"       "Weight"       "BMI"          "School"      
## [11] "SES"          "Enrollment"   "Score"        "MotherHeight" "MotherAge"   
## [16] "MotherCHD"    "FatherHeight" "FatherAge"    "FatherCHD"    "Status"      
## [21] "SemAcum"      "Exam1"        "Exam2"        "Exam3"        "Exam4"       
## [26] "ExamAcum"     "Definitive"   "Expense"      "Income"       "Gas"         
## [31] "Course"       "Law"          "Economic"     "Race"         "Region"      
## [36] "EMO1"         "EMO2"         "EMO3"         "EMO4"         "EMO5"        
## [41] "GOAL1"        "GOAL2"        "GOAL3"        "Pre_STAT1"    "Pre_STAT2"   
## [46] "Pre_STAT3"    "Pre_STAT4"    "Post_STAT1"   "Post_STAT2"   "Post_STAT3"  
## [51] "Post_STAT4"   "Pre_IDARE1"   "Pre_IDARE2"   "Pre_IDARE3"   "Pre_IDARE4"  
## [56] "Pre_IDARE5"   "Post_IDARE1"  "Post_IDARE2"  "Post_IDARE3"  "Post_IDARE4" 
## [61] "Post_IDARE5"  "PSICO1"       "PSICO2"       "PSICO3"       "PSICO4"      
## [66] "PSICO5"

La base contiene 800 observaciones y 66 variables.

Nombre de todas las variables

names(datosCompleto)    #A) Muestra los nombres de las columnas (variables).
##  [1] "Observation"  "ID"           "Gender"       "Like"         "Age"         
##  [6] "Smoke"        "Height"       "Weight"       "BMI"          "School"      
## [11] "SES"          "Enrollment"   "Score"        "MotherHeight" "MotherAge"   
## [16] "MotherCHD"    "FatherHeight" "FatherAge"    "FatherCHD"    "Status"      
## [21] "SemAcum"      "Exam1"        "Exam2"        "Exam3"        "Exam4"       
## [26] "ExamAcum"     "Definitive"   "Expense"      "Income"       "Gas"         
## [31] "Course"       "Law"          "Economic"     "Race"         "Region"      
## [36] "EMO1"         "EMO2"         "EMO3"         "EMO4"         "EMO5"        
## [41] "GOAL1"        "GOAL2"        "GOAL3"        "Pre_STAT1"    "Pre_STAT2"   
## [46] "Pre_STAT3"    "Pre_STAT4"    "Post_STAT1"   "Post_STAT2"   "Post_STAT3"  
## [51] "Post_STAT4"   "Pre_IDARE1"   "Pre_IDARE2"   "Pre_IDARE3"   "Pre_IDARE4"  
## [56] "Pre_IDARE5"   "Post_IDARE1"  "Post_IDARE2"  "Post_IDARE3"  "Post_IDARE4" 
## [61] "Post_IDARE5"  "PSICO1"       "PSICO2"       "PSICO3"       "PSICO4"      
## [66] "PSICO5"

Tabla 1. Variables seleccionadas y finalidad.

Weight: Peso del estudiante en kg. Es una variable cuantitativa que se utiliza para realizar pruebas sobre la media y la varianza.

Score: Puntaje obtenido por el estudiante. Es una variable cuantitativa que permite realizar pruebas sobre la media y la varianza.

Law: Opinión sobre una ley (Agree / In disagreement). Es una variable dicotómica que permite analizar la proporción de estudiantes que están de acuerdo.

Like: Actividad más frecuente en el tiempo libre (Network / TV). Es una variable dicotómica que permite analizar la proporción de estudiantes que prefieren Network.

Course: Preferencia de modalidad (Virtual / Face-to-Face). Es una variable categórica que permite comparar los resultados según la modalidad del curso.

Las variables de la Tabla 1 permiten analizar datos numéricos y respuestas de dos opciones. La variable Course incluye las categorías Virtual y Face-to-Face, lo que permite comparar los resultados de ambos grupos.

Por otro lado, Weight y Score permiten calcular las varianzas, aunque en las seis pruebas principales solo se comparan sus medias. Por lo tanto, en este análisis no se realizaron pruebas de hipótesis para las varianzas. La comparación entre los grupos de Course se presenta como un análisis adicional.

2. Selección de las muestras

# Selección por filas, como en el proyecto anterior
Muestra1 <- datosCompleto[1:120,1:66]
Muestra2 <- datosCompleto[1:28,1:66]
dim(Muestra1)
## [1] 120  66
dim(Muestra2)
## [1] 28 66
# Verificación de las categorías observadas
unique(Muestra1$Law)
## [1] "Agree"           "In disagreement"
unique(Muestra1$Like)
## [1] "TV"      "Network"
unique(Muestra1$Course)
## [1] "Face-to-Face" "Virtual"
# Conteo de valores faltantes en las variables analizadas
sum(is.na(Muestra1$Weight))
## [1] 0
sum(is.na(Muestra1$Score))
## [1] 0
sum(is.na(Muestra1$Law))
## [1] 0
sum(is.na(Muestra1$Like))
## [1] 0
sum(is.na(Muestra1$Course))
## [1] 0
sum(is.na(Muestra2$Weight))
## [1] 0
sum(is.na(Muestra2$Score))
## [1] 0

Las variables de la Tabla 1 sirven para analizar números y respuestas de dos opciones. Course permite comparar a los estudiantes que estudian de forma virtual con los que estudian presencialmente. Weight y Score permiten calcular las varianzas, pero en este análisis solo se comparan sus promedios. También se hizo una comparación adicional entre los dos grupos de Course. # 3. Supuestos Se supone que los datos siguen una distribución normal, aunque no se comprobó. Para el análisis se usaron las primeras 120 filas y las primeras 28 filas de la base de datos. Estos datos no fueron escogidos al azar.

En las pruebas Z se usó la desviación estándar de la muestra porque no se conocía la de toda la población. Para las pruebas t se usó la muestra de 28 datos y 27 grados de libertad.

En las pruebas de proporciones se comprobó que se podía usar la distribución normal, ya que los resultados fueron 60 en ambos casos. Además, no había datos faltantes.

4. Pruebas de hipótesis para un parámetro

# ============================================================
# 1. Funciones auxiliares
# ============================================================

formato_num <- function(x, digitos = 4) {
  format(
    round(x, digitos),
    nsmall = 0,
    trim = TRUE,
    scientific = FALSE
  )
}

nombre_alternativa <- function(alternative) {
  switch(
    alternative,
    "two.sided" = "Bilateral",
    "greater"   = "Cola derecha",
    "less"      = "Cola izquierda"
  )
}

valor_p_normal <- function(estadistico, alternative) {
  switch(
    alternative,
    "two.sided" = 2 * pnorm(-abs(estadistico)),
    "greater"   = pnorm(estadistico, lower.tail = FALSE),
    "less"      = pnorm(estadistico)
  )
}

valor_p_t <- function(estadistico, gl, alternative) {
  switch(
    alternative,
    "two.sided" = 2 * pt(-abs(estadistico), df = gl),
    "greater"   = pt(estadistico, df = gl, lower.tail = FALSE),
    "less"      = pt(estadistico, df = gl)
  )
}

decision_prueba <- function(valor_p, alpha) {
  if (valor_p <= alpha) {
    "Rechazar H0"
  } else {
    "No rechazar H0"
  }
}

conclusion_prueba <- function(valor_p, alpha) {
  if (valor_p <= alpha) {
    paste0(
      "Existe evidencia estadística suficiente, al nivel α = ",
      formato_num(alpha),
      ", para apoyar H1"
    )
  } else {
    paste0(
      "No existe evidencia estadística suficiente, al nivel α = ",
      formato_num(alpha),
      ", para apoyar H1"
    )
  }
}

validar_alternativa <- function(alternative) {
  match.arg(alternative, c("two.sided", "greater", "less"))
}


# ============================================================
# 2. Prueba Z para una media; sigma se aproxima con s
#    H0: mu = mu0
# ============================================================

ph_media_z <- function(media, sigma, n, mu0,
                       alpha = 0.05,
                       alternative = "two.sided",
                       digitos = 4) {
  
  alternative <- validar_alternativa(alternative)
  
  if (sigma <= 0 || n <= 1) {
    stop("sigma debe ser positiva y n debe ser mayor que 1.")
  }
  
  error_estandar <- sigma / sqrt(n)
  estadistico <- (media - mu0) / error_estandar
  valor_p <- valor_p_normal(estadistico, alternative)
  
  resultado <- data.frame(
    Medida = c(
      "Media muestral",
      "Media bajo H0",
      "σ",
      "n",
      "Error estándar",
      "Tipo de prueba",
      "Nivel de significancia",
      "Estadístico Z",
      "p-valor",
      "Decisión",
      "Conclusión"
    ),
    Valor = c(
      formato_num(media, digitos),
      formato_num(mu0, digitos),
      formato_num(sigma, digitos),
      n,
      formato_num(error_estandar, digitos),
      nombre_alternativa(alternative),
      formato_num(alpha, digitos),
      formato_num(estadistico, digitos),
      formato_num(valor_p, digitos),
      decision_prueba(valor_p, alpha),
      conclusion_prueba(valor_p, alpha)
    ),
    check.names = FALSE
  )
  
  knitr::kable(
    resultado,
    format = "pipe",
    col.names = c("Medida", "Valor"),
    align = c("l", "r")
  )
}


# ============================================================
# 3. Prueba t para una media con sigma desconocida
#    H0: mu = mu0
# ============================================================

ph_media_t <- function(media, s, n, mu0,
                       alpha = 0.05,
                       alternative = "two.sided",
                       digitos = 4) {
  
  alternative <- validar_alternativa(alternative)
  
  if (s <= 0 || n <= 1) {
    stop("s debe ser positiva y n debe ser mayor que 1.")
  }
  
  gl <- n - 1
  error_estandar <- s / sqrt(n)
  estadistico <- (media - mu0) / error_estandar
  valor_p <- valor_p_t(estadistico, gl, alternative)
  
  resultado <- data.frame(
    Medida = c(
      "Media muestral",
      "Media bajo H0",
      "s",
      "n",
      "Grados de libertad",
      "Error estándar",
      "Tipo de prueba",
      "Nivel de significancia",
      "Estadístico t",
      "p-valor",
      "Decisión",
      "Conclusión"
    ),
    Valor = c(
      formato_num(media, digitos),
      formato_num(mu0, digitos),
      formato_num(s, digitos),
      n,
      gl,
      formato_num(error_estandar, digitos),
      nombre_alternativa(alternative),
      formato_num(alpha, digitos),
      formato_num(estadistico, digitos),
      formato_num(valor_p, digitos),
      decision_prueba(valor_p, alpha),
      conclusion_prueba(valor_p, alpha)
    ),
    check.names = FALSE
  )
  
  knitr::kable(
    resultado,
    format = "pipe",
    col.names = c("Medida", "Valor"),
    align = c("l", "r")
  )
}


# ============================================================
# 4. Prueba Z para una proporción
#    H0: p = p0
# ============================================================

ph_proporcion <- function(exitos, n, p0,
                          alpha = 0.05,
                          alternative = "two.sided",
                          digitos = 4) {
  
  alternative <- validar_alternativa(alternative)
  
  if (exitos < 0 || exitos > n) {
    stop("El número de éxitos debe estar entre 0 y n.")
  }
  
  if (p0 <= 0 || p0 >= 1) {
    stop("p0 debe estar entre 0 y 1.")
  }
  
  proporcion <- exitos / n
  error_estandar <- sqrt(p0 * (1 - p0) / n)
  estadistico <- (proporcion - p0) / error_estandar
  valor_p <- valor_p_normal(estadistico, alternative)
  
  resultado <- data.frame(
    Medida = c(
      "Éxitos",
      "n",
      "Proporción muestral",
      "Proporción bajo H0",
      "ES bajo H0",
      "Tipo de prueba",
      "Nivel de significancia",
      "Estadístico Z",
      "p-valor",
      "Decisión",
      "Conclusión"
    ),
    Valor = c(
      exitos,
      n,
      formato_num(proporcion, digitos),
      formato_num(p0, digitos),
      formato_num(error_estandar, digitos),
      nombre_alternativa(alternative),
      formato_num(alpha, digitos),
      formato_num(estadistico, digitos),
      formato_num(valor_p, digitos),
      decision_prueba(valor_p, alpha),
      conclusion_prueba(valor_p, alpha)
    ),
    check.names = FALSE
  )
  
  knitr::kable(
    resultado,
    format = "pipe",
    col.names = c("Medida", "Valor"),
    align = c("l", "r")
  )
}

4.a. Prueba Z para la media de Weight

Datos. Se utiliza Muestra1, con n=120; la variable se mide en kg. El parámetro es μ (Weight), la media poblacional. La estimación puntual es x̄=74.2650.

Hipótesis y tipo de prueba. H₀:μ (Weight)=75 frente a H₁:μ (Weight) ≠ 75. Es una prueba bilateral, con α=0.05.

Supuestos. Se asume normalidad poblacional. Como σ no se conoce, se utiliza s para el procedimiento con la muestra grande (n = 120).

Conclusión. No se rechaza H₀, porque el p-valor de 0.6201 es mayor que 0.05.

Fórmula.

Z = (x̄ − μ₀) / (σ / √n)

Como no se conoce la desviación estándar de toda la población, se utiliza la de la muestra como reemplazo. Esto se hace porque se trabaja con una muestra grande. Luego, el resultado se compara con la distribución normal para tomar una decisión.

Procedimiento. Primero se calculan y muestran las estadísticas.

# Estadísticas muestrales para Weight
media <- mean(Muestra1$Weight)
s <- sd(Muestra1$Weight)
n <- nrow(Muestra1)
media
## [1] 74.265
s
## [1] 16.24355
n
## [1] 120

Resultados. Tabla 2. Prueba Z para la media de Weight con Muestra1.

ph_media_z(
  media = media,
  sigma = s,
  n = n,
  mu0 = 75,
  alpha = 0.05,
  alternative = "two.sided"
)
Medida Valor
Media muestral 74.265
Media bajo H0 75
σ 16.2435
n 120
Error estándar 1.4828
Tipo de prueba Bilateral
Nivel de significancia 0.05
Estadístico Z -0.4957
p-valor 0.6201
Decisión No rechazar H0
Conclusión No existe evidencia estadística suficiente, al nivel α = 0.05, para apoyar H1

Interpretación. La Tabla 2 muestra un error estándar de 1.4828 y un resultado de -0.4957. No hay suficiente evidencia para decir que el promedio de Weight sea diferente de 75 kg. Sin embargo, esto no significa que sea exactamente igual a 75 kg.

4.b. Prueba Z para la media de Score

Datos. Se utiliza Muestra1, con n=120; la variable se mide en puntos. El parámetro es μ (Score), la media poblacional. La estimación puntual es x̄=30.6750.

Hipótesis y tipo de prueba. H₀:μ (Score)=35 frente a H₁:μ (Score) ≠ 35. Es una prueba bilateral, con α=0.05.

Supuestos. Se supone que los datos siguen una distribución normal. Como no se conoce la desviación estándar de toda la población, se utiliza la de la muestra para realizar la prueba Z, ya que se tienen 120 datos. Este resultado es una aproximación. Conclusión. Se rechaza H₀, porque el p-valor de 0.0153 es menor que 0.05.

Fórmula.

Z = (x̄ − μ₀) / (σ / √n)

Como la desviación poblacional σ es desconocida, en el cálculo se sustituye por la desviación muestral s. Se adopta esta aproximación porque el ejercicio utiliza Z para la muestra grande.

Procedimiento. Primero se calculan y muestran las estadísticas

# Estadísticas muestrales para Score
media <- mean(Muestra1$Score)
s <- sd(Muestra1$Score)
n <- nrow(Muestra1)
media
## [1] 30.675
s
## [1] 19.52768
n
## [1] 120

Resultados. Tabla 3. Prueba Z para la media de Score con Muestra1.

ph_media_z(
  media = media,
  sigma = s,
  n = n,
  mu0 = 35,
  alpha = 0.05,
  alternative = "two.sided"
)
Medida Valor
Media muestral 30.675
Media bajo H0 35
σ 19.5277
n 120
Error estándar 1.7826
Tipo de prueba Bilateral
Nivel de significancia 0.05
Estadístico Z -2.4262
p-valor 0.0153
Decisión Rechazar H0
Conclusión Existe evidencia estadística suficiente, al nivel α = 0.05, para apoyar H1

Interpretación. La Tabla 3 muestra un error estándar de 1.7826 y un resultado de -2.4262. Los resultados indican que el promedio de Score es menor que los 35 puntos tomados como referencia.

4.c. Prueba t para la media de Weight

Datos. Se utiliza Muestra2, con n=28; la variable se mide en kg. El parámetro es μ (Weight), la media poblacional. La estimación puntual es x̄=77.4071.

Hipótesis y tipo de prueba. H₀:μ (Weight)=75 frente a H₁:μ (Weight) ≠ 75. Es una prueba bilateral, con α=0.05.

Supuestos. Hay normalidad poblacional, La desviación poblacional es desconocida; se estima con s y se usan 27 grados de libertad.

Conclusión. No se rechaza H₀, porque el p-valor de 0.4376 es mayor que 0.05.

Fórmula.

t = (x̄ − μ₀) / (s / √n)

Esta es la operación de ph_media_t().

El estadístico se compara con la distribución t de Student con n − 1 grados de libertad.

Procedimiento. Primero se calculan y muestran las estadísticas.

# Estadísticas muestrales para Weight
media <- mean(Muestra2$Weight)
s <- sd(Muestra2$Weight)
n <- nrow(Muestra2)
media
## [1] 77.40714
s
## [1] 16.16686
n
## [1] 28

Resultados. Tabla 4. Prueba t para la media de Weight con Muestra2.

ph_media_t(
  media = media,
  s = s,
  n = n,
  mu0 = 75,
  alpha = 0.05,
  alternative = "two.sided"
)
Medida Valor
Media muestral 77.4071
Media bajo H0 75
s 16.1669
n 28
Grados de libertad 27
Error estándar 3.0552
Tipo de prueba Bilateral
Nivel de significancia 0.05
Estadístico t 0.7879
p-valor 0.4376
Decisión No rechazar H0
Conclusión No existe evidencia estadística suficiente, al nivel α = 0.05, para apoyar H1

Interpretación. La Tabla 4 muestra un error estándar de 3.0552 y un resultado de 0.7879. No hay suficiente evidencia para decir que el promedio de Weight sea diferente de 75 kg. Esto no significa que sea exactamente igual a 75 kg.

4.d. Prueba t para la media de Score

Datos. Se utiliza Muestra2, con n=28; la variable se mide en puntos. El parámetro es μ (Score), la media poblacional. La estimación puntual es x̄=38.3214.

Hipótesis y tipo de prueba. H₀:μ (Score)=35 frente a H₁:μ (Score) ≠ 35. Es una prueba bilateral, con α=0.05.

Supuestos. Normalidad poblacional, La desviación poblacional es desconocida; se estima con s y se usan 27 grados de libertad.

Conclusión. No se rechaza H₀, porque el p-valor de 0.3964 es mayor que 0.05.

Fórmula.

t = (x̄ − μ₀) / (s / √n)

Esta es la operación de ph_media_t().

El estadístico se compara con la distribución t de Student con n − 1 grados de libertad.

Procedimiento. Primero se calculan y muestran las estadísticas.

# Estadísticas muestrales para Score
media <- mean(Muestra2$Score)
s <- sd(Muestra2$Score)
n <- nrow(Muestra2)
media
## [1] 38.32143
s
## [1] 20.39618
n
## [1] 28

Resultados. Tabla 5. Prueba t para la media de Score con Muestra2.

ph_media_t(
  media = media,
  s = s,
  n = n,
  mu0 = 35,
  alpha = 0.05,
  alternative = "two.sided"
)
Medida Valor
Media muestral 38.3214
Media bajo H0 35
s 20.3962
n 28
Grados de libertad 27
Error estándar 3.8545
Tipo de prueba Bilateral
Nivel de significancia 0.05
Estadístico t 0.8617
p-valor 0.3964
Decisión No rechazar H0
Conclusión No existe evidencia estadística suficiente, al nivel α = 0.05, para apoyar H1

Interpretación. La Tabla 5 muestra un error estándar de 3.8545 y un resultado de 0.8617. No hay suficiente evidencia para decir que el promedio de Score sea diferente de 35 puntos.No significa que sea exactamente igual a 35.

4.e. Prueba Z para la proporción de Law

Datos. Se utiliza Muestra1. La categoría de éxito es Agree donde 67 de los 120 estudiantes respondieron que están de acuerdo con la ley. Esto representa el 55.83 % de los encuestados.

Hipótesis y tipo de prueba. H₀:p (Law)=0.50 frente a H₁:p (Law) ≠ 0.50. Prueba bilateral, con α=0.05.

Supuestos. Respuestas dicotómicas y aproximación normal bajo H₀: np₀=60 y n(1-p₀)=60.

Conclusión. No se rechaza H₀, porque el p-valor de 0.2012 es mayor que 0.05.

Fórmula.

Z = (p̂ − p₀) / √[p₀(1 − p₀) / n]

Esta es la operación de ph_proporcion().

Procedimiento. Se cuentan los éxitos y las observaciones válidas antes de realizar la prueba.

# Éxitos, tamaño válido y proporción muestral
exitos_law <- sum(Muestra1$Law == "Agree", na.rm = TRUE)
n_law <- sum(!is.na(Muestra1$Law))
exitos_law
## [1] 67
n_law
## [1] 120
exitos_law / n_law
## [1] 0.5583333

Resultados. Tabla 6. Prueba Z para la proporción de Agree en Law.

ph_proporcion(
  exitos = exitos_law,
  n = n_law,
  p0 = 0.50,
  alpha = 0.05,
  alternative = "two.sided"
)
Medida Valor
Éxitos 67
n 120
Proporción muestral 0.5583
Proporción bajo H0 0.5
ES bajo H0 0.0456
Tipo de prueba Bilateral
Nivel de significancia 0.05
Estadístico Z 1.278
p-valor 0.2012
Decisión No rechazar H0
Conclusión No existe evidencia estadística suficiente, al nivel α = 0.05, para apoyar H1

Interpretación. La Tabla 6 muestra un error estándar de 0.0456 y un resultado Z de 1.2780. Aunque el porcentaje de estudiantes que están de acuerdo es mayor al 50 %, la diferencia es pequeña. Por eso, no hay suficiente evidencia para decir que más de la mitad está de acuerdo con la ley.

4.f. Prueba Z para la proporción de Like

Datos. Se utiliza Muestra1, donde 51 de los 120 estudiantes eligieron Network, es decir, las redes sociales como su actividad más frecuente en el tiempo libre. Esto representa el 42.50 % de los estudiantes encuestados..

Hipótesis y tipo de prueba. H₀:p (Like)=0.50 frente a H₁:p (Like) ≠ 0.50. Prueba bilateral, con α=0.05.

Supuestos. Respuestas dicotómicas y aproximación normal bajo H₀: np₀=60 y n(1-p₀)=60.

Conclusión. No se rechaza H₀, porque el p-valor de 0.1003 es mayor que 0.05.

Fórmula.

Z = (p̂ − p₀) / √[p₀(1 − p₀) / n]

Esta es la operación de ph_proporcion() en la sección 4.

Procedimiento. Se cuentan los éxitos y las observaciones válidas antes de realizar la prueba.

# Éxitos, tamaño válido y proporción muestral
exitos_like <- sum(Muestra1$Like == "Network", na.rm = TRUE)
n_like <- sum(!is.na(Muestra1$Like))
exitos_like
## [1] 51
n_like
## [1] 120
exitos_like / n_like
## [1] 0.425

Resultados. Tabla 7. Prueba Z para la proporción de Network en Like.

ph_proporcion(
  exitos = exitos_like,
  n = n_like,
  p0 = 0.50,
  alpha = 0.05,
  alternative = "two.sided"
)
Medida Valor
Éxitos 51
n 120
Proporción muestral 0.425
Proporción bajo H0 0.5
ES bajo H0 0.0456
Tipo de prueba Bilateral
Nivel de significancia 0.05
Estadístico Z -1.6432
p-valor 0.1003
Decisión No rechazar H0
Conclusión No existe evidencia estadística suficiente, al nivel α = 0.05, para apoyar H1

Interpretación. La Tabla 7 muestra un error estándar de 0.0456 y un resultado Z de -1.6432. Aunque el porcentaje de estudiantes que prefieren las redes sociales es menor al 50 %, la diferencia no es suficiente para sacar una conclusión.

5. Comparación de los procedimientos

5.a. Diferencias entre Z y t

La prueba Z utiliza la distribución normal y la prueba t utiliza la desviación estándar de la muestra. La prueba t también tiene en cuenta que no se conoce la desviación de toda la población. Aunque se puede usar con muestras grandes, en este análisis se utiliza para Muestra2, que tiene 28 datos.

5.b. Comparación de Muestra1 y Muestra2

Tabla 8. Resumen de las seis pruebas bilaterales.

resumen <- data.frame(
  Prueba = c("Z Weight", "Z Score", "t Weight", "t Score", "Z Law", "Z Like"),
  n = c(120, 120, 28, 28, n_law, n_like),
  Estimacion = c(mean(Muestra1$Weight), mean(Muestra1$Score),
                 mean(Muestra2$Weight), mean(Muestra2$Score),
                 exitos_law/n_law, exitos_like/n_like),
  ES = c(sd(Muestra1$Weight)/sqrt(120), sd(Muestra1$Score)/sqrt(120),
         sd(Muestra2$Weight)/sqrt(28), sd(Muestra2$Score)/sqrt(28),
         sqrt(0.5*0.5/n_law), sqrt(0.5*0.5/n_like))
)
resumen$Estadistico <-
  (resumen$Estimacion - c(75,35,75,35,0.5,0.5))/resumen$ES
resumen$P_valor <- c(
  valor_p_normal(resumen$Estadistico[1], "two.sided"),
  valor_p_normal(resumen$Estadistico[2], "two.sided"),
  valor_p_t(resumen$Estadistico[3], 27, "two.sided"),
  valor_p_t(resumen$Estadistico[4], 27, "two.sided"),
  valor_p_normal(resumen$Estadistico[5], "two.sided"),
  valor_p_normal(resumen$Estadistico[6], "two.sided")
)
knitr::kable(resumen, format = "pipe", digits = 4)
Prueba n Estimacion ES Estadistico P_valor
Z Weight 120 74.2650 1.4828 -0.4957 0.6201
Z Score 120 30.6750 1.7826 -2.4262 0.0153
t Weight 28 77.4071 3.0552 0.7879 0.4376
t Score 28 38.3214 3.8545 0.8617 0.3964
Z Law 120 0.5583 0.0456 1.2780 0.2012
Z Like 120 0.4250 0.0456 -1.6432 0.1003

Nota. Las estimaciones y errores estándar se expresan en kg para Weight, puntos para Score y proporciones entre 0 y 1 para Law y Like.

La Tabla 8 muestra que, al pasar de Muestra1 a Muestra2, el error estándar aumenta tanto en Weight como en Score. Esto ocurre porque Muestra2 tiene menos datos y, cuando hay menos datos, el error estándar suele ser mayor.

Sin embargo, también cambian los promedios de las dos variables. En Weight, el promedio pasa de 74.2650 a 77.4071 y el p-valor baja de 0.6201 a 0.4376. En Score, el promedio pasa de 30.6750 a 38.3214 y el p-valor sube de 0.0153 a 0.3964.

Esto demuestra que el p-valor no depende solamente de la cantidad de datos, sino también de los promedios, la variación de los datos y el tipo de prueba que se utiliza.

5.c. Valores críticos

Para las pruebas bilaterales al 5 %, se calculan los valores críticos con las mismas funciones del proyecto anterior.

# Valores críticos positivos; los negativos son sus opuestos
qnorm(1 - 0.05/2)
## [1] 1.959964
qt(1 - 0.05/2, df = 28 - 1)
## [1] 2.051831

Los valores son ±1.9600 para Z y ±2.0518 para t con 27 grados de libertad. La prueba t necesita un resultado más alto para rechazar la hipótesis porque la distribución tiene colas más amplias. Cuando aumenta el tamaño de la muestra, los resultados de la prueba t se acercan a los de Z.

5.d. Comparación de las proporciones

Law presenta 67/120 = 0.5583 y Like presenta 51/120 = 0.4250. En ambos casos se usa p₀=0.50 y n=120; por eso tienen el mismo error estándar bajo la hipótesis nula: 0.0456. El estadístico de Law es 1.2780, con p-valor 0.2012; el de Like es −1.6432, con p-valor 0.1003. La proporción de Like se aleja más de 0.50 en valor absoluto, lo que produce un p-valor menor. Ninguna de las dos pruebas rechaza H₀ al 5 %.

5.e. Comparación complementaria de los grupos de Course

La variable Course separa a los estudiantes en dos grupos: Virtual y Face-to-Face (presencial). Aquí se comparan los promedios de Weight y Score para ver si hay diferencias entre los estudiantes de ambas modalidades. Primero, se muestra cuántos estudiantes hay en cada grupo y sus resultados. Luego, se utiliza una prueba t para hacer la comparación.

Para este análisis se usa Muestra1. Las hipótesis plantean que los dos grupos tienen el mismo promedio (H₀) o que tienen promedios diferentes (H₁). Se utiliza un nivel de 0.05. Esta comparación es adicional y no reemplaza las seis pruebas principales.

# Comparación descriptiva por modalidad del curso
comparacion_course <- do.call(
  rbind,
  lapply(c("Weight", "Score"), function(variable) {
    valores_virtual <- Muestra1[Muestra1$Course == "Virtual", ][[variable]]
    valores_presencial <- Muestra1[Muestra1$Course == "Face-to-Face", ][[variable]]

    data.frame(
      Variable = variable,
      Grupo = c("Virtual", "Face-to-Face"),
      n = c(sum(!is.na(valores_virtual)), sum(!is.na(valores_presencial))),
      Media = c(mean(valores_virtual, na.rm = TRUE),
                mean(valores_presencial, na.rm = TRUE)),
      Desviacion = c(sd(valores_virtual, na.rm = TRUE),
                     sd(valores_presencial, na.rm = TRUE))
    )
  })
)
knitr::kable(comparacion_course, format = "pipe", digits = 4)
Variable Grupo n Media Desviacion
Weight Virtual 66 74.0303 17.0898
Weight Face-to-Face 54 74.5519 15.2998
Score Virtual 66 30.6970 17.7521
Score Face-to-Face 54 30.6481 21.6727
# Pruebas t de Welch para comparar las medias entre modalidades
datos_course <- Muestra1[!is.na(Muestra1$Course), ]

prueba_weight_course <- t.test(
  Weight ~ Course,
  data = datos_course,
  alternative = "two.sided",
  var.equal = FALSE
)

prueba_score_course <- t.test(
  Score ~ Course,
  data = datos_course,
  alternative = "two.sided",
  var.equal = FALSE
)

resumen_course <- data.frame(
  Variable = c("Weight", "Score"),
  Estadistico_t = c(
    unname(prueba_weight_course$statistic),
    unname(prueba_score_course$statistic)
  ),
  Grados_libertad = c(
    unname(prueba_weight_course$parameter),
    unname(prueba_score_course$parameter)
  ),
  P_valor = c(
    prueba_weight_course$p.value,
    prueba_score_course$p.value
  ),
  Decision = ifelse(
    c(prueba_weight_course$p.value, prueba_score_course$p.value) <= 0.05,
    "Rechazar H0",
    "No rechazar H0"
  )
)
knitr::kable(resumen_course, format = "pipe", digits = 4)
Variable Estadistico_t Grados_libertad P_valor Decision
Weight 0.1762 117.0125 0.8604 No rechazar H0
Score -0.0133 102.0776 0.9894 No rechazar H0

Interpretación. En cada variable, si el p-valor es menor o igual que 0.05, se rechaza la igualdad de medias y se concluye que existe evidencia de una diferencia entre las modalidades. Si el p-valor es mayor que 0.05, no se rechaza la igualdad de medias; esto no demuestra que los promedios sean idénticos.

6. Conclusiones

En las seis pruebas, solo hubo un resultado diferente en Score con Muestra1. El promedio fue de 30.6750 puntos, mientras que el valor de comparación era 35. El p-valor fue 0.0153, por lo que se rechazó la hipótesis nula. En las demás pruebas no se encontraron diferencias suficientes. Esto no quiere decir que los otros resultados sean exactamente iguales a los valores de referencia.

En Muestra2, que tiene solo 28 datos, los errores estándar fueron más altos. Esto se debe a que tiene menos estudiantes que Muestra1. También cambiaron los promedios y los resultados de las pruebas. La prueba t se utilizó para Muestra2 porque tiene pocos datos y no se conoce la desviación estándar de toda la población. Es importante elegir la prueba adecuada según los datos, no según el resultado que se quiera obtener.

Por último, el análisis tiene algunas limitaciones. Se tomaron las primeras filas de la base de datos y no se escogieron los datos al azar. También se supuso que los datos seguían una distribución normal, pero esto no se comprobó. Además, Muestra2 contiene datos que también están en Muestra1, por lo que no son dos grupos independientes. En las pruebas Z se utilizó la desviación estándar de la muestra porque no se conocía la de toda la población. Finalmente, las seis pruebas principales no incluyen una comparación de las varianzas de Weight y Score. La comparación entre Virtual y Face-to-Face se presenta por separado.

Referencias

Llinás Solano, H. (2017). Estadística inferencial. Editorial Universidad del Norte.

Mayorga Álvarez, J. H. (2004). Inferencia estadística. Universidad Nacional de Colombia.

Rodríguez-Alveal, F., & Aguerrea, M. (2024). Inferencia estadística en los textos escolares: Una aproximación al pensamiento estadístico. Uniciencia, 38(1), 341–356. https://doi.org/10.15359/ru.38-1.19

Walpole, R. E., Myers, R. H., Myers, S. L., & Ye, K. (2012). Probabilidad y estadística para ingeniería y ciencias (9.ª ed.). Pearson Educación.

Declaración sobre el uso de inteligencia artificial

Uso de IA: Sí. Herramienta utilizada: ChatGPT. Porcentaje estimado de utilización 20 % de la elaboración de este borrador tuvo asistencia de ChatGPT respecto a ortografia.