Instrucciones
- Este documento muestra como determinar medidas de tendencia central de promedio de 38 alumnos de la clase de probabilidad y estadística.
- Se determinan los datos
- Se generan la medi, la mediana la frecuencia y frecuencia relativa y procentual, además de la moda
- Se geeneran los percentiles y los cuartiles
- Se grafican los datos
- Se grafica la frecuen cia
- Se describe la interpretación de los datos al final del documento
Los datos
# Es un vector numperico, una serie de datos de promedios de alumnos
promedios <- c(87.75, 74, 85, 86, 86, 74, 88, 74, 92.5, 91, 81, 93.33, 89, 88, 74, 79, 92.5, 94.8, 84, 81.5, 85, 84.5, 80, 82.5, 91.5, 82, 83.5, 79.9, 89, 92, 83, 80, 85, 86.33, 83, 82,85,80)
promedios
## [1] 87.75 74.00 85.00 86.00 86.00 74.00 88.00 74.00 92.50 91.00 81.00
## [12] 93.33 89.00 88.00 74.00 79.00 92.50 94.80 84.00 81.50 85.00 84.50
## [23] 80.00 82.50 91.50 82.00 83.50 79.90 89.00 92.00 83.00 80.00 85.00
## [34] 86.33 83.00 82.00 85.00 80.00
# ¿Cómo ver los promedios ordenados?
sort(promedios)
## [1] 74.00 74.00 74.00 74.00 79.00 79.90 80.00 80.00 80.00 81.00 81.50
## [12] 82.00 82.00 82.50 83.00 83.00 83.50 84.00 84.50 85.00 85.00 85.00
## [23] 85.00 86.00 86.00 86.33 87.75 88.00 88.00 89.00 89.00 91.00 91.50
## [34] 92.00 92.50 92.50 93.33 94.80
Graficar los promedios en gráfica de dispersión
plot(x=1:n, y=promedios, main = "Promedios de alumnos")

# Se observa gran acumulción de puntos entre 80 y 85
# Ahí está el promedio (la media) del promedio de los alumnos
La frecuencia
# La frecuencia
frecuencia <- table(promedios)
frecuencia
## promedios
## 74 79 79.9 80 81 81.5 82 82.5 83 83.5 84 84.5
## 4 1 1 3 1 1 2 1 2 1 1 1
## 85 86 86.33 87.75 88 89 91 91.5 92 92.5 93.33 94.8
## 4 2 1 1 2 2 1 1 1 2 1 1
# La fercuencia relativa
freq.relativa <- (frecuencia)/margin.table(frecuencia)
freq.relativa
## promedios
## 74 79 79.9 80 81 81.5
## 0.10526316 0.02631579 0.02631579 0.07894737 0.02631579 0.02631579
## 82 82.5 83 83.5 84 84.5
## 0.05263158 0.02631579 0.05263158 0.02631579 0.02631579 0.02631579
## 85 86 86.33 87.75 88 89
## 0.10526316 0.05263158 0.02631579 0.02631579 0.05263158 0.05263158
## 91 91.5 92 92.5 93.33 94.8
## 0.02631579 0.02631579 0.02631579 0.05263158 0.02631579 0.02631579
freq.porcentual <- freq.relativa * 100 # Convertido a %
freq.porcentual
## promedios
## 74 79 79.9 80 81 81.5 82
## 10.526316 2.631579 2.631579 7.894737 2.631579 2.631579 5.263158
## 82.5 83 83.5 84 84.5 85 86
## 2.631579 5.263158 2.631579 2.631579 2.631579 10.526316 5.263158
## 86.33 87.75 88 89 91 91.5 92
## 2.631579 2.631579 5.263158 5.263158 2.631579 2.631579 2.631579
## 92.5 93.33 94.8
## 5.263158 2.631579 2.631579
A partir de la frecuencia la moda
# Nuevamente la frecuencuia
frecuencia
## promedios
## 74 79 79.9 80 81 81.5 82 82.5 83 83.5 84 84.5
## 4 1 1 3 1 1 2 1 2 1 1 1
## 85 86 86.33 87.75 88 89 91 91.5 92 92.5 93.33 94.8
## 4 2 1 1 2 2 1 1 1 2 1 1
# Valor máximo de frecuencia previamente generada
# ¿Cuál es el valor máximo de la frecuencia?, 4
# ¿Cuál es el valor que tiene la frecuencia máxima?, hay dos ejemplo
max(frecuencia) # aqui debe ser 4
## [1] 4
# Como la frecuencia MAYOR es 4, en el arrelgo cuales valores tiene frecuencia == a 4.
moda <- names(frecuencia[frecuencia == max(frecuencia)])
moda
## [1] "74" "85"
Valores máximos y mínimos y el rango
maximo <- max(promedios)
minimo <- min(promedios)
maximo; minimo
## [1] 94.8
## [1] 74
Opción 1 para determinar rango
rango <- maximo - minimo
rango
## [1] 20.8
Opción 2 para determinar rango
# Otra manera de determinar rango
rango <- range(promedios)
rango
## [1] 74.0 94.8
rango[1] ; rango[2] # Posiciones del rango
## [1] 74
## [1] 94.8
# Entonces restamos la posición 2 la posición 1 del rango
rango[2] - rango[1] # Esto es el rango que sale lo mismo
## [1] 20.8
Opción 3 para determinar rango
rango <- diff(range(promedios)) # Todo en una sola linea
rango
## [1] 20.8
Graficar la frecuencia en donde se observa la moda
barplot(frecuencia, col = "blue", main = "Frecuencia de promedios")

Percentiles y cuadriles
quantile(promedios, 0.80) # l 80%
## 80%
## 89
cuartil <- quantile(promedios, c(0.25, 0.50, 0.75)) # Q1, Q2, Q3
cuartil
## 25% 50% 75%
## 81.125 84.750 88.000
# como es un arreglo podemos visualizarlos de manera inddependiente
cuartil[1]
## 25%
## 81.125
cuartil[2]
## 50%
## 84.75
cuartil[3]
## 75%
## 88
¿Para que sirven los caurtiles?,
Es una DISTRIBUCÍÓN DE DATOS DIVIDA EN 4 PARTES ?
- para saber cuántos elementos están dentro de cada cuartil,
- es decir:
- ¿cuántos menores o iguales a Q1?
- ¿cuántos mayores a Q1 y menores o iguales a Q2?
- ¿cuántos mayores a Q2 y menores o iguales a Q3? y
- ¿cuántos mayores a Q3 obviamente menores o iguales al valor máximo?
# Por medio de la función length para conocoer cuántos elementos
# which significa preguntar con una expresión booleana
# ¿cuántos menores o iguales a Q1?
length(which(promedios <= cuartil[1] )) # ¿cuántos?
## [1] 10
promedios[which(promedios <= cuartil[1] ) ] # ¿cuáles?
## [1] 74.0 74.0 74.0 81.0 74.0 79.0 80.0 79.9 80.0 80.0
# ¿cuántos mayores a Q1 y menores o iguales a Q2? y
length(which(promedios > cuartil[1] & promedios <= cuartil[2] ))
## [1] 9
promedios[which(promedios > cuartil[1] & promedios <= cuartil[2] )]
## [1] 84.0 81.5 84.5 82.5 82.0 83.5 83.0 83.0 82.0
# ¿cuántos mayores a Q2 y menores o iguales a Q3?
length(which(promedios > cuartil[2] & promedios <= cuartil[3] ))
## [1] 10
promedios[which(promedios > cuartil[2] & promedios <= cuartil[3] )]
## [1] 87.75 85.00 86.00 86.00 88.00 88.00 85.00 85.00 86.33 85.00
# ¿cuántos mayores a Q3 obviamente menores o iguales al valor máximo?
length(which(promedios > cuartil[3] ))
## [1] 9
promedios[which(promedios > cuartil[3] )]
## [1] 92.50 91.00 93.33 89.00 92.50 94.80 91.50 89.00 92.00
# La suma de todos debe ser igual a n, que vale 39
n
## [1] 38
Fín de la práctica