Instrucciones

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

Determinando media y la mediana

n <- length(promedios)
n
## [1] 38
# La media
media <- mean(promedios)

media
## [1] 84.46342
# La mediana
mediana <- median(promedios)
mediana
## [1] 84.75

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