El lenguaje R proporciona potentes herramientas para la manipulación
y representación de datos estadísticos. En esta actividad se trabajará
con los conjuntos de datos integrados en R (precip,
state.area, state.abb,
discoveries) y se aplicarán técnicas de representación
gráfica (histogramas, diagramas de barras, polígonos de frecuencia),
cálculo de frecuencias (absolutas, relativas, acumuladas) y
determinación de la moda mediante análisis visual y computacional.
precipEl vector precip contiene datos de precipitación media
anual (en pulgadas) para 70 ciudades de Estados Unidos.
# Visualización de los datos
print(precip)
hist(precip,
main = "Histograma de precipitaciones en ciudades de EE.UU.",
xlab = "Precipitación media (pulgadas)",
ylab = "Frecuencia absoluta",
col = "lightblue",
border = "darkblue")
hist(precip,
freq = FALSE,
main = "Histograma de precipitaciones (frecuencias relativas)",
xlab = "Precipitación media (pulgadas)",
ylab = "Densidad",
col = "lightgreen",
border = "darkgreen")
hist(precip,
breaks = 10,
main = "Histograma con 10 intervalos",
xlab = "Precipitación media (pulgadas)",
ylab = "Frecuencia",
col = "coral",
border = "darkred")
Interpretación: Los histogramas muestran la distribución de las precipitaciones. Se observa una concentración de ciudades con precipitaciones entre 35 y 45 pulgadas.
ventas <- c(345.3, 452.1, 395.6)
names(ventas) <- c("Pedro", "Juan", "Maria")
barplot(ventas, main = "Ventas España", ylab = "Miles de euros", xlab = "Vendedor", col = "steelblue")
pie(ventas, main = "Ventas España", col = c("gold", "tomato", "lightgreen"))
dotchart(ventas, main = "Ventas España", xlab = "Miles de euros", col = "darkorange")
📊 Preguntas Tarea 1
areas_grandes <- state.area[state.area > 100000]
estados_grandes <- state.abb[state.area > 100000]
barplot(areas_grandes,
names.arg = estados_grandes,
main = "Estados de EE.UU. con área superior a 100,000 millas²",
xlab = "Estados",
ylab = "Área (millas cuadradas)",
col = "darkblue",
las = 2,
cex.names = 0.8)
abline(h = 100000, col = "red", lwd = 2, lty = 2)
El gráfico muestra los estados con más de 100,000 millas cuadradas. Los estados que superan este umbral son: Alaska (AK), Texas (TX), California (CA), Montana (MT), Nuevo México (NM), Arizona (AZ), Nevada (NV), Colorado (CO), Oregón (OR), Wyoming (WY) y Míchigan (MI).
Ejemplo con numhijos
numhijos <- c(2, 1, 3, 2, 3, 6, 4, 2, 2, 1)
fabs <- table(numhijos)
frels <- fabs / 10
fabs_acum <- as.table(cumsum(fabs))
frels_acum <- as.table(cumsum(frels))
barplot(fabs, ylab = "Frecuencias absolutas", main = "Número de hijos", col = "lightgreen")
plot(fabs, type = "b", main = "Polígono de frecuencias", ylab = "Frecuencia", xlab = "Número de hijos", col = "blue", pch = 19)
Preguntas Tarea 2 (Vector discoveries)
data(discoveries)
fabs_discoveries <- table(discoveries)
n_discoveries <- length(discoveries)
frel_discoveries <- fabs_discoveries / n_discoveries
fabs_acum_discoveries <- as.table(cumsum(fabs_discoveries))
frel_acum_discoveries <- as.table(cumsum(frel_discoveries))
print("Frecuencias absolutas:")
print(fabs_discoveries)
print("Frecuencias relativas:")
print(frel_discoveries)
print("Frecuencias absolutas acumuladas:")
print(fabs_acum_discoveries)
print("Frecuencias relativas acumuladas:")
print(frel_acum_discoveries)
barplot(fabs_discoveries,
main = "Descubrimientos importantes (1860-1959)",
xlab = "Número de descubrimientos por año",
ylab = "Frecuencia absoluta",
col = "steelblue")
plot(fabs_discoveries,
type = "b",
main = "Polígono de frecuencias absolutas",
ylab = "Frecuencia absoluta",
xlab = "Número de descubrimientos por año",
col = "darkred",
pch = 19,
lwd = 2)
barplot(frel_discoveries,
main = "Frecuencias relativas",
xlab = "Número de descubrimientos por año",
ylab = "Frecuencia relativa",
col = "coral")
📈 Tarea 3. La moda. Comparación entre hist() y table() 1. Moda mediante análisis visual de los datos ordenados
discoveries_ordenado <- sort(discoveries)
print(discoveries_ordenado)
table_discoveries <- table(discoveries)
print(table_discoveries)
Análisis visual: El valor que más se repite es 2 descubrimientos por año, con una frecuencia absoluta de 26 años.
moda_mfv <- mfv(discoveries)
print(paste("La moda calculada con mfv() es:", moda_mfv))
Respuesta: Sí, existe coherencia completa. Ambos métodos coinciden en que la moda es 2 descubrimientos por año.
hist(discoveries,
breaks = 10,
main = "Histograma de descubrimientos",
xlab = "Número de descubrimientos por año",
ylab = "Frecuencia",
col = "lightblue",
border = "darkblue")
barplot(fabs_discoveries,
main = "Diagrama de barras - Frecuencias absolutas",
xlab = "Número de descubrimientos por año",
ylab = "Frecuencia absoluta",
col = "steelblue")
plot(fabs_discoveries,
type = "b",
main = "Polígono de frecuencias absolutas",
ylab = "Frecuencia absoluta",
xlab = "Número de descubrimientos por año",
col = "darkred",
pch = 19,
lwd = 2)
Respuesta: El intervalo que contiene al valor 2 es el de mayor altura, lo cual es coherente con la moda = 2. Sin embargo, el histograma no es la herramienta más precisa para datos discretos.
Respuesta: El diagrama de barras es más representativo porque respeta la naturaleza discreta de los datos y permite leer la moda directamente como la barra más alta, sin ambigüedad por agrupación en intervalos.
A lo largo de esta actividad se han aplicado y comparado diferentes técnicas de representación y análisis estadístico en R:
Histogramas: Útiles para variables continuas, pero menos precisos para identificar modas en datos discretos.
Diagramas de barras: Ideales para variables discretas, permiten una lectura directa de frecuencias y de la moda.
Polígonos de frecuencias: Buen complemento para visualizar tendencias.
Cálculo de moda: La moda puede obtenerse visualmente o mediante mfv(), con resultados coherentes.
Frecuencias acumuladas: Permiten responder preguntas sobre proporciones acumuladas.