Introducción

En este ejercicio exploraremos un conjunto de datos sobre masa corporal (en gramos) de ratones de laboratorio. Calcularemos estadísticas descriptivas y crearemos visualizaciones para interpretar la distribución de los datos.


Datos

Los datos no son reales, los vamos a producir utilizando una función (rnorm()) de generación de números al azar; estos datos cumplen con una distribución aproximadamente normal. Ejecuta el siguiente bloque para cargar los datos:

set.seed(42)
masa_ratones <- round(c(rnorm(60, mean = 25, sd = 4),
                        rnorm(20, mean = 35, sd = 3)), 1)
masa_ratones
##  [1] 30.5 22.7 26.5 27.5 26.6 24.6 31.0 24.6 33.1 24.7 30.2 34.1 19.4 23.9 24.5
## [16] 27.5 23.9 14.4 15.2 30.3 23.8 17.9 24.3 29.9 32.6 23.3 24.0 17.9 26.8 22.4
## [31] 26.8 27.8 29.1 22.6 27.0 18.1 21.9 21.6 15.3 25.1 25.8 23.6 28.0 22.1 19.5
## [46] 26.7 21.8 30.8 23.3 27.6 26.3 21.9 31.3 27.6 25.4 26.1 27.7 25.4 13.0 26.1
## [61] 33.9 35.6 36.7 39.2 32.8 38.9 36.0 38.1 37.8 37.2 31.9 34.7 36.9 32.1 33.4
## [76] 36.7 37.3 36.4 32.3 31.7

Pregunta 1: ¿Cuántas observaciones tiene el vector masa_ratones? Usa la función length() para responder.

# Escribe tu código aquí

Parte 1: Medidas de Tendencia Central

1.1 Media y Mediana

# Calcula la media
media <- mean(masa_ratones)
media
## [1] 27.5375
# Calcula la mediana
mediana <- median(masa_ratones)
mediana
## [1] 26.8

Pregunta 2: ¿La media es mayor o menor que la mediana? ¿Qué te indica esto sobre la forma de la distribución? Escribe tu respuesta en el bloque de abajo.

Respuesta.

1.2 Media Ponderada

Supón que tienes los siguientes datos de calificaciones de un curso:

Componente Nota (x) Créditos (f)
Examen 1 85 3
Examen 2 78 3
Laboratorio 92 2
Proyecto final 88 4
notas    <- c(85, 78, 92, 88)
creditos <- c(3, 3, 2, 4)

# Fórmula de la media ponderada: sum(f * x) / sum(f)
media_ponderada <- sum(creditos * notas) / sum(creditos)
media_ponderada
## [1] 85.41667

Pregunta 3: ¿Cuál componente tiene mayor peso en el cálculo? ¿Cómo cambiaría la media ponderada si la nota del Proyecto final fuera 70? Modifica el código para comprobarlo.

# Escribe tu código aquí

Respuesta


Parte 2: Medidas de Dispersión

2.1 Rango, Varianza y Desviación Estándar.

La función range() devuelve el mínimo y máximo de un vector, mientras que diff() calcula la diferencia entre ellos para obtener el rango. La función var() calcula la varianza, y sd() calcula la desviación estándar.

rango <- range(masa_ratones)
cat("Mínimo:", rango[1], "| Máximo:", rango[2],
    "| Rango:", diff(rango), "\n")
## Mínimo: 13 | Máximo: 39.2 | Rango: 26.2
varianza <- var(masa_ratones)
cat("Varianza:", round(varianza, 2), "\n")
## Varianza: 38.58
desv_std <- sd(masa_ratones)
cat("Desviación estándar:", round(desv_std, 2), "\n")
## Desviación estándar: 6.21

Pregunta 4: ¿Por qué preferimos utilizar la desviación estándar para informar sobre la dispersión de los datos?

Respuesta

2.2 Error Estándar

n  <- length(masa_ratones)
ee <- desv_std / sqrt(n)
cat("Error estándar:", round(ee, 3), "\n")
## Error estándar: 0.694

Pregunta 5: ¿Qué pasaría con el error estándar si duplicamos el tamaño de la muestra? Modifica n para comprobarlo y explica el resultado.

# Escribe tu código aquí

Respuesta

2.3 Coeficiente de Variación

cv <- (desv_std / media) * 100
cat("Coeficiente de variación:", round(cv, 2), "%\n")
## Coeficiente de variación: 22.55 %

Pregunta 6: Imagina que también tienes datos de masa de ratas con media = 280 g y desviación estándar = 35 g. Calcula el CV de las ratas y compáralo con el de los ratones. ¿Cuál grupo es más variable en términos relativos?

# Escribe tu código aquí

Respuesta


Parte 3: Percentiles y Cuartiles

# Resumen de los cinco números
summary(masa_ratones)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   13.00   23.75   26.80   27.54   32.15   39.20
# Cuartiles individuales
Q1  <- quantile(masa_ratones, 0.25)
Q2  <- quantile(masa_ratones, 0.50)
Q3  <- quantile(masa_ratones, 0.75)
IQR_val <- IQR(masa_ratones)

cat("Q1:", Q1, "| Q2 (mediana):", Q2, "| Q3:", Q3,
    "| IQR:", IQR_val, "\n")
## Q1: 23.75 | Q2 (mediana): 26.8 | Q3: 32.15 | IQR: 8.4
# Percentiles 5% y 95%
p5  <- quantile(masa_ratones, 0.05)
p95 <- quantile(masa_ratones, 0.95)
cat("Percentil 5%:", p5, "| Percentil 95%:", p95, "\n")
## Percentil 5%: 17.77 | Percentil 95%: 37.325

Pregunta 7: ¿Qué porcentaje de los ratones tiene una masa entre Q1 y Q3? ¿Cómo se llama ese intervalo?

Respuesta


Parte 4: Visualización

4.1 Histograma

hist(masa_ratones,
     main  = "Distribución de masa corporal de ratones",
     xlab  = "Masa (g)",
     ylab  = "Frecuencia",
     col   = "steelblue",
     border = "white",
     breaks = 10)
abline(v = media,   col = "red",    lwd = 2, lty = 2)
abline(v = mediana, col = "orange", lwd = 2, lty = 2)
legend("topright",
       legend = c("Media", "Mediana"),
       col    = c("red", "orange"),
       lwd    = 2, lty = 2)

Pregunta 8: Cambia el argumento breaks a 5 y luego a 20. ¿Cómo cambia la historia que cuenta el histograma en cada caso?

# Copia y modifica el código del histograma aquí

Respuesta

Pregunta 9: Basándote en el histograma, describe la distribución: (a) ¿Es unimodal, bimodal o multimodal? (b) ¿Está sesgada a la derecha, a la izquierda o es simétrica?

Respuesta

4.2 Gráfica de Caja y Bigote

boxplot(masa_ratones,
        main   = "Masa corporal de ratones",
        ylab   = "Masa (g)",
        col    = "lightblue",
        border = "darkblue",
        notch  = FALSE)

Pregunta 10: Identifica en la gráfica de caja y bigote, los valores en el eje Y de: la mediana, Q1, Q3 y los valores atípicos (outliers), si los hay.

Respuesta

Resumen Final

Completa la siguiente tabla con los valores calculados en este ejercicio:

Estadístico Valor
Media
Mediana
Desviación estándar
Error estándar
Coeficiente de variación (%)
Q1
Q3
IQR

Biometría BIOL 3740 — Departamento de Biología, UPR-Humacao