Determinar medidas estadísticas de localización media, mediana, moda, máximos mínimos y rango. de un conjunto de datos usando funciones de R.
El proceso de este caso permite identificar las medidas de localización de media, mediana, moda, máximos, mínimos, rango y el significado de las mismas para interpretar si una distribución de datos es simétrica o asimétrica.
Primero se presenta como determinar los estadísticos manualmente por medio de programación y luego se identifica como determinar estos mismos valores estadísticos de manera más sencilla por medio de funciones que existen en los paquete base de R para media y mediana y funciones de librerías instaladas para la moda.
Finalmente se presenta el desarrollo de un caso en donde se cargan datos con valores de calificaciones de alumnos de una carrera de una Institución educativa, se utiliza sólo la variable promedio para encontrar los estadísticos media, median y moda.
En el proceso, los datos se visualizan por medio de la librería ggplot previamente instalada, el gráfico que se muestra es el histograma con lineas verticales que representan la media, mediana y moda.
Finalmente se hace una interpretación del caso identificando la simetría o asimetría del mismo.
Pendiente.
library(readr)
library(modeest)
library(ggplot2)
datos <- read.csv(file = "https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/datos/promedios%20alumnos/ALUMNOS%20EJ2021.csv", sep = ",",
header = TRUE)
head(datos, 10)
## NoControl Alumno Semestre Cr.Aprobados Cr.Cursando Promedio Carrera
## 1 1 1 12 207 19 79.84 SISTEMAS
## 2 2 2 13 226 9 82.55 SISTEMAS
## 3 3 3 10 235 10 95.16 SISTEMAS
## 4 4 4 13 231 14 79.32 SISTEMAS
## 5 5 5 10 235 10 92.67 SISTEMAS
## 6 6 6 10 235 10 91.25 SISTEMAS
## 7 7 7 13 231 4 82.46 SISTEMAS
## 8 8 8 11 197 23 83.72 SISTEMAS
## 9 9 9 11 235 10 85.37 SISTEMAS
## 10 10 10 10 231 4 85.12 SISTEMAS
tail(datos, 10)
## NoControl Alumno Semestre Cr.Aprobados Cr.Cursando Promedio Carrera
## 6033 746 746 4 50 24 81.27 ARQUITECTURA
## 6034 747 747 2 26 26 92.00 ARQUITECTURA
## 6035 748 748 1 NA 26 0.00 ARQUITECTURA
## 6036 749 749 9 223 12 87.59 ARQUITECTURA
## 6037 750 750 9 170 20 81.16 ARQUITECTURA
## 6038 751 751 7 103 19 84.43 ARQUITECTURA
## 6039 752 752 4 76 34 92.47 ARQUITECTURA
## 6040 753 753 4 84 26 89.74 ARQUITECTURA
## 6041 754 754 3 52 28 87.75 ARQUITECTURA
## 6042 755 755 2 18 22 86.50 ARQUITECTURA
datos.alumnos <- subset(datos, Promedio > 0)
n <- nrow(datos.alumnos)
n
## [1] 5535
datos.alumnos$Carrera <- factor(datos.alumnos$Carrera)
summary(datos.alumnos[3:7])
## Semestre Cr.Aprobados Cr.Cursando Promedio
## Min. : 2.000 Min. : 4 Min. : 3.0 Min. : 70.00
## 1st Qu.: 3.000 1st Qu.: 53 1st Qu.:23.0 1st Qu.: 83.25
## Median : 6.000 Median :109 Median :28.0 Median : 86.36
## Mean : 5.826 Mean :115 Mean :26.1 Mean : 86.60
## 3rd Qu.: 8.000 3rd Qu.:172 3rd Qu.:30.0 3rd Qu.: 89.83
## Max. :17.000 Max. :264 Max. :42.0 Max. :100.00
##
## Carrera
## INDUSTRIAL : 653
## ARQUITECTURA : 633
## CIVIL : 594
## GESTION : 518
## QUIMICA : 515
## ADMINISTRACION: 458
## (Other) :2164
media <- round(mean(datos.alumnos$Promedio),2)
mediana <- round(median(datos.alumnos$Promedio),2)
moda <- round(mfv(datos.alumnos$Promedio), 2)
media
## [1] 86.6
mediana
## [1] 86.36
moda
## [1] 86
titulo <- "Histograma de los Datos Alumnos"
subtitulo <- paste("Media=",media, " Mediana = ",mediana, " Moda=",moda)
ggplot(data = datos.alumnos, mapping = aes(x=Promedio)) +
geom_histogram(bins=30) +
ggtitle(titulo, subtitle = subtitulo) +
xlab('Valores') + ylab('Frecuencia') +
geom_vline(aes(xintercept = media,
color = "media"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = mediana,
color = "mediana"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = moda,
color = "moda"),
linetype = "dashed",
size = 1)
ggplot(datos.alumnos) +
geom_density(aes(x = Promedio), fill = 'steelblue') +
xlab("Promedios") +
ylab("Frecuencia") +
ggtitle("Distribución de la variable Promedio de Datos Alumnos (Densidad)", subtitle = subtitulo) +
theme_minimal() +
geom_vline(aes(xintercept = media,
color = "media"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = mediana,
color = "mediana"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = moda,
color = "moda"),
linetype = "dashed",
size = 1)
SISTEMAS <- subset(datos.alumnos, Carrera == 'SISTEMAS')
media <- round(mean(SISTEMAS$Promedio),2)
mediana <- round(median(SISTEMAS$Promedio),2)
moda <- round(mfv(SISTEMAS$Promedio), 2)
media
## [1] 87.16
mediana
## [1] 86.88
moda
## [1] 89.67
titulo <- "Histograma de los Alumnos SISTEMAS"
subtitulo <- paste("Media=",media, " Mediana = ",mediana, " Moda=",moda)
ggplot(data = SISTEMAS, mapping = aes(x=Promedio)) +
geom_histogram(bins=30) +
ggtitle(titulo, subtitle = subtitulo) +
xlab('Valores') + ylab('Frecuencia') +
geom_vline(aes(xintercept = media,
color = "media"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = mediana,
color = "mediana"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = moda,
color = "moda"),
linetype = "dashed",
size = 1)
TIC <- subset(datos.alumnos, Carrera == 'TIC')
media <- round(mean(TIC$Promedio),2)
mediana <- round(median(TIC$Promedio),2)
moda <- round(mfv(TIC$Promedio), 2)
media
## [1] 85.44
mediana
## [1] 85.03
moda
## [1] 78.47 86.00 89.17
titulo <- "Histograma de los Alumnos TIC"
subtitulo <- paste("Media=",media, " Mediana = ",mediana, " Moda=",moda)
ggplot(data = TIC, mapping = aes(x=Promedio)) +
geom_histogram(bins=30) +
ggtitle(titulo, subtitle = subtitulo) +
xlab('Valores') + ylab('Frecuencia') +
geom_vline(aes(xintercept = media,
color = "media"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = mediana,
color = "mediana"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = moda[1],
color = "moda"),
linetype = "dashed",
size = 1)
ARQUITECTURA <- subset(datos.alumnos, Carrera == 'ARQUITECTURA')
media <- round(mean(ARQUITECTURA$Promedio),2)
mediana <- round(median(ARQUITECTURA$Promedio),2)
moda <- round(mfv(ARQUITECTURA$Promedio), 2)
media
## [1] 86.98
mediana
## [1] 87.1
moda
## [1] 86.00 89.17
titulo <- "Histograma de los Alumnos ARQUITECTURA"
subtitulo <- paste("Media=",media, " Mediana = ",mediana, " Moda=",moda)
ggplot(data = ARQUITECTURA, mapping = aes(x=Promedio)) +
geom_histogram(bins=30) +
ggtitle(titulo, subtitle = subtitulo) +
xlab('Valores') + ylab('Frecuencia') +
geom_vline(aes(xintercept = media,
color = "media"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = mediana,
color = "mediana"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = moda[1],
color = "moda"),
linetype = "dashed",
size = 1)
tres.carreras <- subset(datos.alumnos, Carrera %in% c('SISTEMAS', 'TIC', 'ARQUITECTURA'))
ggplot(data=tres.carreras,aes(x = Promedio,fill=Carrera)) +
geom_histogram(bins=30) + # se dibuja el histograma
ggtitle("Histograma de tres carreras", subtitle = "Medias") +
xlab('Valores de medias en Promedio') + ylab('Frecuencia') +
geom_vline(aes(xintercept = mean(SISTEMAS$Promedio),
color="SISTEMAS"),
linetype = "solid",
size = 1) +
geom_vline(aes(xintercept = mean(TIC$Promedio),
color="TIC"),
linetype = "solid",
size = 1) +
geom_vline(aes(xintercept = mean(ARQUITECTURA$Promedio),
color="ARQUITECTURA"),
linetype = "solid",
size = 1)
ggplot(data = datos.alumnos, mapping = aes(x = Promedio, fill=Carrera)) +
geom_histogram(bins = 30, color = "white") +
facet_wrap(~ Carrera, nrow = 4)
¿Qué significa los estadísticos descriptivos media, mediana y moda de un conjunto de datos? La media es el promedio de un conjunto de datos, la mediana consiste en ordenar los datos de forma descendente, la mediana es el número que se encuentra exactamente en medio de este orde, mientras tanto, la moda es el dato que más se repite
¿Para el conjunto de datos alumnos en su variable Promedio, son los valores iguales de la media, mediana y moda? Si, básicamente en las tres medidas de tendencia central (media, mediana y moda) es el mismo valor
¿Qué tipo de distribución es el conjunto de datos alumnos? Es una distribución de frecuencias, puesto que se pone en tela de juicio y se analiza las carreras que tienen más alumnos y las que más altas están en cuestión academica.
¿Qué significa los estadísticos rango, máximo y mínimo de la variable Promedio y como se interpretan? El máximo son los valores más grandes que se encuentran en los datos, mientras que los mínimos son los más pequeños, el rango es, en pocas palabras, la diferencia que existe entre el rango máximo y mínimo. Los tres se pueden interpretar como los encargados de dar una pauta y un promedio de los datos a evaluar dentro del caso.
¿Seleccione tres carreras y determine media, mediana y moda? y haga sus comparaciones.
CIVIL
CIVIL <- subset(datos.alumnos, Carrera == 'CIVIL')
media <- round(mean(CIVIL$Promedio),2)
mediana <- round(median(CIVIL$Promedio),2)
moda <- round(mfv(CIVIL$Promedio), 2)
media
## [1] 84.47
mediana
## [1] 84.29
moda
## [1] 87
MECATRONICA
MECATRONICA <- subset(datos.alumnos, Carrera == 'MECATRONICA')
media <- round(mean(MECATRONICA$Promedio),2)
mediana <- round(median(MECATRONICA$Promedio),2)
moda <- round(mfv(MECATRONICA$Promedio), 2)
media
## [1] 85.23
mediana
## [1] 85.22
moda
## [1] 87
QUIMICA
QUIMICA <- subset(datos.alumnos, Carrera == 'QUIMICA')
media <- round(mean(QUIMICA$Promedio),2)
mediana <- round(median(QUIMICA$Promedio),2)
moda <- round(mfv(QUIMICA$Promedio), 2)
media
## [1] 87.33
mediana
## [1] 86.88
moda
## [1] 91.17 95.67
La carrera que presenta los datos de mayor tamaño en cada una de las medidas de tendencia central es QUIMICA, puesto que tiene la mayor media, mediana y moda entre las tres carreras elegidas, por el contrario, CIVIL es la menor en las tres medidas.
¿Cuál carrera tiene mas alumnos? Ingeniería Industrial y Arquitectura parecen ser las carreras que tienen mayor demanda en los alumnos.
¿Cuál carrera de las tres seleccionadas tiene la media conforme a la variable Promedio más alto? La carrera que presenta el mayor promedio entre las tres.
FIN DEL CASO