CONCEPTOS BASICOS
Jose Luis Ccaso Rodriguez
2024-12-22
##**1. Un cuestionario proporciona como respuestas 58 Sí, 42 No y 20 ninguna opinión. a. En la construc-
ción de una gráfica de pastel, ¿cuántos grados le corresponderán del pastel a la respuesta Sí? b. ¿Cuántos
grados le corresponderán del pastel a la respuesta No? c. Construya una gráfica de pastel. d. Construya una
gráfica de barras.
# Datos del cuestionario
respuestas <- c("Sí", "No", "Ninguna opinión")
frecuencias <- c(58, 42, 20)
# Calcular el total de respuestas
total_respuestas <- sum(frecuencias)
# a) Grados para la respuesta "Sí"
grados_si <- (frecuencias[1] / total_respuestas) * 360
cat("Grados para 'Sí':", grados_si, "\n")
## Grados para ’Sí’: 174
# b) Grados para la respuesta "No"
grados_no <- (frecuencias[2] / total_respuestas) * 360
cat("Grados para 'No':", grados_no, "\n")
## Grados para ’No’: 126
# c) Construcción de una gráfica de pastel
pie(frecuencias, labels = respuestas, main = "Gráfica de Pastel", col = c("blue", "red", "green"))
1
Gráfica de Pastel
Sí
Ninguna opinión
No
# d) Construcción de una gráfica de barras
barplot(frecuencias, [Link] = respuestas, main = "Gráfica de Barras", col = c("blue", "red", "green")
ylab = "Frecuencias", xlab = "Respuestas")
2
Gráfica de Barras
50
40
Frecuencias
30
20
10
0
Sí No Ninguna opinión
Respuestas
##**2. Una cadena de tiendas deportivas, planea realizar un estudio sobre la cantidad que gasta un
deportista en la adquisición inicial de equipo y suministros. Con base en estas cifras, desea averiguar la
posibilidad de ofrecer combinaciones, a fin de inducir a los clientes a comprar más. Una muestra de sus
notas de caja registradora reveló estas compras iniciales:
Figure 1: Descripción de la imagen
a. Obtenga un intervalo de clase sugerido. Utilice cinco clases y haga que el límite inferior de la primera
clase sea $80.
b. ¿cuál sería un mejor intervalo de clase?
c. Organice los datos en una distribución de frecuencias.
# Datos de las compras
compras <- c(140, 82, 265, 168, 90, 114, 172, 230, 142, 86, 125, 235, 212, 171,
149, 156, 162, 118, 139, 149, 132, 105, 162, 126, 216, 195, 127,
3
161, 135, 172, 220, 229, 129, 87, 128, 126, 175, 127, 149, 126,
121, 118, 172, 126)
# a) Obtener intervalos de clase sugeridos
n_clases <- 5 # Número de clases
limite_inferior <- 80 # Límite inferior de la primera clase
rango <- max(compras) - limite_inferior # Rango de los datos
amplitud_clase <- ceiling(rango / n_clases) # Amplitud de clase redondeada hacia arriba
# Construir intervalos
intervalos <- seq(limite_inferior, max(compras) + amplitud_clase, by = amplitud_clase)
# Construir la tabla de frecuencias
frecuencias <- table(cut(compras, breaks = intervalos, right = FALSE))
# b) Un mejor intervalo de clase
n_clases_mejor <- ceiling(1 + 3.3 * log10(length(compras))) # Fórmula de Sturges
amplitud_mejor <- ceiling(rango / n_clases_mejor)
intervalos_mejor <- seq(limite_inferior, max(compras) + amplitud_mejor, by = amplitud_mejor)
frecuencias_mejor <- table(cut(compras, breaks = intervalos_mejor, right = FALSE))
# c) Mostrar la distribución de frecuencias
cat("Distribución de frecuencias sugerida:\n")
## Distribución de frecuencias sugerida:
print([Link](Intervalos = names(frecuencias), Frecuencia = [Link](frecuencias)))
## Intervalos Frecuencia
## 1 [80,117) 6
## 2 [117,154) 20
## 3 [154,191) 10
## 4 [191,228) 4
## 5 [228,265) 3
## 6 [265,302) 1
cat("\nMejor distribución de frecuencias (Fórmula de Sturges):\n")
##
## Mejor distribución de frecuencias (Fórmula de Sturges):
print([Link](Intervalos = names(frecuencias_mejor), Frecuencia = [Link](frecuencias_mejor)))
## Intervalos Frecuencia
## 1 [80,107) 5
## 2 [107,134) 14
## 3 [134,161) 8
## 4 [161,188) 9
## 5 [188,215) 2
## 6 [215,242) 5
## 7 [242,269) 1
4
##**3. Las puntuaciones obtenidas en una prueba de aptitud se organizaron en la siguiente distribución.
Puntuaciones de pruebas: 100-119,120-139,140-159,160-179,180-199 Numero de puntucaciones: 6,17,38,15,4
a. Represente la distribución en un histograma b. Represente la distribución en un polígono de frecuencias.
c. Utilizando los dos diagramas, interprete la distribución.
# Datos de la tabla
intervalos <- c("100-119", "120-139", "140-159", "160-179", "180-199")
puntos_medios <- c(109.5, 129.5, 149.5, 169.5, 189.5) # Puntos medios de los intervalos
frecuencias <- c(6, 17, 38, 15, 4) # Número de puntuaciones
# a) Representar la distribución en un histograma
barplot(frecuencias, [Link] = intervalos, main = "Histograma de Puntuaciones",
xlab = "Puntuaciones", ylab = "Frecuencia", col = "lightblue", border = "black")
Histograma de Puntuaciones
10 15 20 25 30 35
Frecuencia
5
0
100−119 120−139 140−159 160−179 180−199
Puntuaciones
# b) Representar la distribución en un polígono de frecuencias
plot(puntos_medios, frecuencias, type = "o", col = "red", xlab = "Puntuaciones",
ylab = "Frecuencia", main = "Polígono de Frecuencias", pch = 16, lty = 1)
5
Polígono de Frecuencias
35
30
Frecuencia
25
20
15
10
5
120 140 160 180
Puntuaciones
# c) Interpretación
cat("Interpretación:\n")
## Interpretación:
cat("1. El histograma muestra una distribución de frecuencias por intervalos.\n")
## 1. El histograma muestra una distribución de frecuencias por intervalos.
cat("2. El polígono de frecuencias conecta los puntos medios de las barras del histograma.\n")
## 2. El polígono de frecuencias conecta los puntos medios de las barras del histograma.
cat("3. La distribución parece tener una forma asimétrica hacia la derecha, indicando más valores bajos
## 3. La distribución parece tener una forma asimétrica hacia la derecha, indicando más valores bajos qu
##**4. Considere la distribución de frecuencia siguiente Clases Frecuencia 10-19 10 20-29 14 30-39 17 40-49
7 50—59 2 Construya una distribución de frecuencia acumulada y otra de frecuencia relativa acumulada.
6
# Datos de la tabla
clases <- c("10-19", "20-29", "30-39", "40-49", "50-59")
frecuencias <- c(10, 14, 17, 7, 2)
# Calcular la frecuencia acumulada
frecuencia_acumulada <- cumsum(frecuencias)
# Calcular la frecuencia relativa
frecuencia_relativa <- frecuencias / sum(frecuencias)
# Calcular la frecuencia relativa acumulada
frecuencia_relativa_acumulada <- cumsum(frecuencia_relativa)
# Crear la tabla con los resultados
tabla_frecuencias <- [Link](
Clases = clases,
Frecuencia = frecuencias,
Frecuencia_Acumulada = frecuencia_acumulada,
Frecuencia_Relativa = round(frecuencia_relativa, 3),
Frecuencia_Relativa_Acumulada = round(frecuencia_relativa_acumulada, 3)
)
# Mostrar la tabla
print(tabla_frecuencias)
## Clases Frecuencia Frecuencia_Acumulada Frecuencia_Relativa
## 1 10-19 10 10 0.20
## 2 20-29 14 24 0.28
## 3 30-39 17 41 0.34
## 4 40-49 7 48 0.14
## 5 50-59 2 50 0.04
## Frecuencia_Relativa_Acumulada
## 1 0.20
## 2 0.48
## 3 0.82
## 4 0.96
## 5 1.00
# Graficar la frecuencia acumulada
plot(frecuencia_acumulada, type = "o", xaxt = "n", xlab = "Clases", ylab = "Frecuencia Acumulada",
main = "Frecuencia Acumulada", col = "blue", pch = 16, lty = 1)
axis(1, at = 1:length(clases), labels = clases)
7
Frecuencia Acumulada
50
Frecuencia Acumulada
40
30
20
10
10−19 20−29 30−39 40−49 50−59
Clases
# Graficar la frecuencia relativa acumulada
plot(frecuencia_relativa_acumulada, type = "o", xaxt = "n", xlab = "Clases", ylab = "Frecuencia Relativa
main = "Frecuencia Relativa Acumulada", col = "red", pch = 16, lty = 1)
axis(1, at = 1:length(clases), labels = clases)
8
Frecuencia Relativa Acumulada
1.0
Frecuencia Relativa Acumulada
0.8
0.6
0.4
0.2
10−19 20−29 30−39 40−49 50−59
Clases
##**5.A un director de análisis estadístico le piden recolectar y agrupar los datos de precipitación. Tales
datos correspondientes a los últimos 50 días como se muestra en la tabla. Sin embargo, con estos datos
en bruto, es improbable que el director pueda obtener información útil y significativa. Los datos no están
organizados y es difícil llegar a una conclusión significativa. Es preciso agrupar y presentar los datos de
manera concisa para facilitar el acceso a la información que contienen. Analizar como se puede utilizar una
distribución de frecuencia para organizar el conjunto de datos. 
# Rango de los datos
rango <- max(precipitacion) - min(precipitacion)
# Número de clases (utilizando la fórmula de Sturges)
n_clases <- ceiling(1 + 3.3 * log10(length(precipitacion)))
# Amplitud de clase
amplitud_clase <- ceiling(rango / n_clases)
# Limitar los intervalos
limite_inferior <- floor(min(precipitacion))
9
intervalos <- seq(limite_inferior, max(precipitacion) + amplitud_clase, by = amplitud_clase)
# Crear la distribución de frecuencias
frecuencias <- table(cut(precipitacion, breaks = intervalos, right = FALSE))
# Crear una tabla de distribución de frecuencias
tabla_frecuencias <- [Link](
Intervalos = names(frecuencias),
Frecuencia = [Link](frecuencias)
)
# Calcular la frecuencia relativa y acumulada
tabla_frecuencias$Frecuencia_Relativa <- round(tabla_frecuencias$Frecuencia / sum(frecuencias), 3)
tabla_frecuencias$Frecuencia_Acumulada <- cumsum(tabla_frecuencias$Frecuencia)
tabla_frecuencias$Frecuencia_Relativa_Acumulada <- round(cumsum(tabla_frecuencias$Frecuencia_Relativa),
# Mostrar la tabla de distribución de frecuencias
print(tabla_frecuencias)
## Intervalos Frecuencia Frecuencia_Relativa Frecuencia_Acumulada
## 1 [50,58) 2 0.04 2
## 2 [58,66) 3 0.06 5
## 3 [66,74) 12 0.24 17
## 4 [74,82) 14 0.28 31
## 5 [82,90) 9 0.18 40
## 6 [90,98) 8 0.16 48
## 7 [98,106) 2 0.04 50
## Frecuencia_Relativa_Acumulada
## 1 0.04
## 2 0.10
## 3 0.34
## 4 0.62
## 5 0.80
## 6 0.96
## 7 1.00
# Graficar el histograma
hist(precipitacion, breaks = intervalos, right = FALSE, col = "lightblue",
main = "Histograma de Precipitación", xlab = "Precipitación (mm)", ylab = "Frecuencia")
10
Histograma de Precipitación
10 12 14
Frecuencia
8
6
4
2
0
50 60 70 80 90 100
Precipitación (mm)
# Graficar el polígono de frecuencias
plot(intervalos[-length(intervalos)] + amplitud_clase / 2, frecuencias, type = "o", col = "red",
xlab = "Intervalos", ylab = "Frecuencia", main = "Polígono de Frecuencias", pch = 16)
11
Polígono de Frecuencias
Frecuencia
[90,98)
[58,66)
60 70 80 90 100
Intervalos
12