Este script determina medidas de dispersión, rango, cuartiles, percentiles, varianza, desviación estándard y coeficiente de variacion. Se utiliza el conjunto de datos que son importados desde el servicio github.
Importar los datos
alumnos <- read.csv("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/practicas%20R/datos/alumnos%20simulados.csv")
head(alumnos)
## X matricula carrera genero promedio edad peso altura
## 1 1 1 CIVIL M 83.83 20 74.29 174.29
## 2 2 2 ELECTRICA M 86.64 21 77.86 177.86
## 3 3 3 INFORMATICA F 83.11 20 58.94 158.94
## 4 4 4 TIC F 91.53 23 62.30 162.30
## 5 5 5 BIOQUIMICA M 87.14 21 78.11 178.11
## 6 6 6 TIC F 83.16 20 62.59 162.59
tail(alumnos)
## X matricula carrera genero promedio edad peso altura
## 4995 4995 4995 INFORMATICA F 81.15 20 58.57 158.57
## 4996 4996 4996 ELECTRONICA M 86.56 21 79.00 179.00
## 4997 4997 4997 ADMINISTRACION M 89.40 22 82.37 182.37
## 4998 4998 4998 ELECTRONICA M 83.60 20 81.20 181.20
## 4999 4999 4999 ADMINISTRACION M 85.99 21 81.25 181.25
## 5000 5000 5000 CIVIL M 86.59 21 83.42 183.42
# alumnos
Factorizando genero y carreras de alumnos
alumnos$genero <- factor(alumnos$genero)
alumnos$carrera <- factor(alumnos$carrera)
Estructura de alumnos
str(alumnos)
## 'data.frame': 5000 obs. of 8 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ matricula: int 1 2 3 4 5 6 7 8 9 10 ...
## $ carrera : Factor w/ 13 levels "ADMINISTRACION",..: 4 5 8 13 3 13 11 9 9 2 ...
## $ genero : Factor w/ 2 levels "F","M": 2 2 1 1 2 1 1 1 1 2 ...
## $ promedio : num 83.8 86.6 83.1 91.5 87.1 ...
## $ edad : int 20 21 20 23 21 20 21 22 22 21 ...
## $ peso : num 74.3 77.9 58.9 62.3 78.1 ...
## $ altura : num 174 178 159 162 178 ...
resumen de los alumnos con summary()
summary(alumnos)
## X matricula carrera genero
## Min. : 1 Min. : 1 ARQUITECTURA: 421 F:2436
## 1st Qu.:1251 1st Qu.:1251 QUIMICA : 415 M:2564
## Median :2500 Median :2500 ELECTRICA : 407
## Mean :2500 Mean :2500 ELECTRONICA : 403
## 3rd Qu.:3750 3rd Qu.:3750 TIC : 401
## Max. :5000 Max. :5000 SISTEMAS : 397
## (Other) :2556
## promedio edad peso altura
## Min. :73.28 Min. :17 Min. :52.77 Min. :152.8
## 1st Qu.:83.68 1st Qu.:20 1st Qu.:60.05 1st Qu.:160.1
## Median :85.95 Median :21 Median :73.69 Median :173.7
## Mean :85.99 Mean :21 Mean :70.24 Mean :170.2
## 3rd Qu.:88.42 3rd Qu.:22 3rd Qu.:80.10 3rd Qu.:180.1
## Max. :99.20 Max. :25 Max. :91.46 Max. :191.5
##
Determinando poblacion Hombres y Mujeres y su media en Peso y Altura
# install.packages("dplyr") # Instalarlo antes si se necesita no haberlo hecho
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
hombres <- filter(alumnos, genero == 'M')
mujeres <- filter(alumnos, genero == 'F')
print(paste("Cantidad de Hombres: ",nrow(hombres)))
## [1] "Cantidad de Hombres: 2564"
print(paste("Cantidad de Mujeres: ",nrow(mujeres)))
## [1] "Cantidad de Mujeres: 2436"
print(paste("Media de Peso en Hombres: ",round(mean(hombres$peso),2)))
## [1] "Media de Peso en Hombres: 79.97"
print(paste("Media de Peso en Mujeres: ",round(mean(mujeres$peso),2)))
## [1] "Media de Peso en Mujeres: 60"
print(paste("Media de Altura en Hombres: ",round(mean(hombres$altura),2)))
## [1] "Media de Altura en Hombres: 179.97"
print(paste("Media de Altura en Mujeres: ",round(mean(mujeres$altura),2)))
## [1] "Media de Altura en Mujeres: 160"
Determinando cuartiles de Pesos en Hombre y Mujeres
- Se crean variables de cuartiles al 25%, 50% y 75% del peso hombres
- Se crean variables de cuartiles al 25%, 50% y 75% del peso de las mujeres
- Se visualiza e interpretan los cuartiles del peso de Hombres y Mujeres
q25PesoH <- quantile(hombres$peso, 0.25)
q50PesoH <- quantile(hombres$peso, 0.50)
q75PesoH <- quantile(hombres$peso, 0.75)
print(paste("El cuartile 25% del peso de los hombres, ", "con valor de ", q25PesoH, " significa que a partir de ese valor, está el otro 75%"))
## [1] "El cuartile 25% del peso de los hombres, con valor de 77.9 significa que a partir de ese valor, está el otro 75%"
print(paste("El cuartile 50% del peso de los hombres, ", "con valor de ", q50PesoH, " significa que a partir de ese valor, está el otro 50%"))
## [1] "El cuartile 50% del peso de los hombres, con valor de 79.99 significa que a partir de ese valor, está el otro 50%"
print(paste("El cuartile 75% del peso de los hombres, ", "con valor de ", q75PesoH, " significa que a partir de ese valor, está el otro 25%"))
## [1] "El cuartile 75% del peso de los hombres, con valor de 81.99 significa que a partir de ese valor, está el otro 25%"
q25PesoM <- quantile(hombres$peso, 0.25)
q50PesoM <- quantile(hombres$peso, 0.50)
q75PesoM <- quantile(hombres$peso, 0.75)
print(paste("El cuartile 25% del peso de las mujeres, ", "con valor de ", q25PesoM, " significa que a partir de ese valor, está el otro 75%"))
## [1] "El cuartile 25% del peso de las mujeres, con valor de 77.9 significa que a partir de ese valor, está el otro 75%"
print(paste("El cuartile 50% del peso de las mujeres, ", "con valor de ", q50PesoM, " significa que a partir de ese valor, está el otro 50%"))
## [1] "El cuartile 50% del peso de las mujeres, con valor de 79.99 significa que a partir de ese valor, está el otro 50%"
print(paste("El cuartile 75% del peso de las mujeres, ", "con valor de ", q75PesoM, " significa que a partir de ese valor, está el otro 25%"))
## [1] "El cuartile 75% del peso de las mujeres, con valor de 81.99 significa que a partir de ese valor, está el otro 25%"
Determinando percentiles de alturas del hombres y mujeres al 10% y 90%
- Determinar percentiles al 10% y 90% de la altura de los hombres
- Determinar quantile al 10% y 90% de la altura de las mujeres
- Visualizar su valores
p10alturaH <- quantile(hombres$altura, 0.10)
p90alturaH <- quantile(hombres$altura, 0.90)
print(paste("El percentil 10% de la altura de los hombres, ", "con valor de ", p10alturaH, " significa que a partir de ese valor, está el otro 90%"))
## [1] "El percentil 10% de la altura de los hombres, con valor de 175.95 significa que a partir de ese valor, está el otro 90%"
print(paste("El percentil 90% de la altura de los hombres, ", "con valor de ", p90alturaH, " significa que a partir de ese valor, está el otro 10%"))
## [1] "El percentil 90% de la altura de los hombres, con valor de 184.03 significa que a partir de ese valor, está el otro 10%"
p10alturaM <- quantile(hombres$altura, 0.10)
p90alturaM <- quantile(hombres$altura, 0.90)
print(paste("El percentil 10% de la altura de las mujeres, ", "con valor de ", p10alturaM, " significa que a partir de ese valor, está el otro 90%"))
## [1] "El percentil 10% de la altura de las mujeres, con valor de 175.95 significa que a partir de ese valor, está el otro 90%"
print(paste("El percentil 90% de la altura de las mujeres, ", "con valor de ", p90alturaM, " significa que a partir de ese valor, está el otro 10%"))
## [1] "El percentil 90% de la altura de las mujeres, con valor de 184.03 significa que a partir de ese valor, está el otro 10%"
Determinando rango de promedio de calificaciones de tres carreras
- El rango en R se determina por la función range() que encuentra límite superior (LS) y límite inferior (LI)
- Genera un arreglo de 2 posiciones [1] y 2[]
- Para determinar el rango entonces encotrar la diferencia entre LS-LI
- Determinar el rango para tres carreras QUIMICA, BIQUIMICA Y CIVIL
limites <- range(quimica$promedio)
LI <- limites[1]
LS <- limites[2]
rango <- LS- LI
print(paste("El rango del promedio de calificaciones de la carrera de QUIMICA es: ", rango))
## [1] "El rango del promedio de calificaciones de la carrera de QUIMICA es: 20.16"
limites <- range(bioquimica$promedio)
LI <- limites[1]
LS <- limites[2]
rango <- LS- LI
print(paste("El rango del promedio de calificaciones de la carrera de BIOQUIMICA es: ", rango))
## [1] "El rango del promedio de calificaciones de la carrera de BIOQUIMICA es: 19.63"
limites <- range(civil$promedio)
LI <- limites[1]
LS <- limites[2]
rango <- LS- LI
print(paste("El rango del promedio de calificaciones de la carrera de CIVIL es: ", rango))
## [1] "El rango del promedio de calificaciones de la carrera de CIVIL es: 22.85"
Determinando el rango intercuartílico del poromedio de calificaciones de tres carreras
- Primero determinar los Q1 y Q3 de promedio de calificaiones de cada carrera. BIOQUIMICA, QUIMICA, CIVIL
- Encontrar el rango intercuartílico
- Mostrar el dato
q1 <- quantile(bioquimica$promedio, 0.25)
q3 <- quantile(bioquimica$promedio, 0.75)
RIC <- round(q3 - q1, 2)
print(paste("El Rango Inter Cuartílico RIC del promedio de calificaciones de la carrera de BIOQUIMICA es: ", RIC))
## [1] "El Rango Inter Cuartílico RIC del promedio de calificaciones de la carrera de BIOQUIMICA es: 4.8"
q1 <- quantile(quimica$promedio, 0.25)
q3 <- quantile(quimica$promedio, 0.75)
RIC <- round(q3 - q1, 2)
print(paste("El Rango Inter Cuartílico RIC del promedio de calificaciones de la carrera de QUIMICA es: ", RIC))
## [1] "El Rango Inter Cuartílico RIC del promedio de calificaciones de la carrera de QUIMICA es: 4.72"
q1 <- quantile(civil$promedio, 0.25)
q3 <- quantile(civil$promedio, 0.75)
RIC <- round(q3 - q1, 2)
print(paste("El Rango Inter Cuartílico RIC del promedio de calificaciones de la carrera de CIVIL es: ", RIC))
## [1] "El Rango Inter Cuartílico RIC del promedio de calificaciones de la carrera de CIVIL es: 5.04"
Determinnado la varianza del promedio de calificaciones de tres carreas
varBioquimica <- round(var(bioquimica$promedio), 2)
print(paste("La varianza del promedio de calificaciones de la carrera de BIOQUIMICA es: ", varBioquimica))
## [1] "La varianza del promedio de calificaciones de la carrera de BIOQUIMICA es: 12.42"
varQuimica <- round(var(quimica$promedio),2)
print(paste("La varianza del promedio de calificaciones de la carrera de QUIMICA es: ", varQuimica))
## [1] "La varianza del promedio de calificaciones de la carrera de QUIMICA es: 13.14"
varCivil <- round(var(civil$promedio),2)
varQuimica <- var(quimica$promedio)
print(paste("La varianza del promedio de calificaciones de la carrera de CIVIL es: ", varCivil))
## [1] "La varianza del promedio de calificaciones de la carrera de CIVIL es: 13.76"
Determinando las desviaciones estándar de tres carreras
dsBioquimica <- round(sd(bioquimica$promedio), 2)
print(paste("La Desviación Estándard del promedio de calificaciones de la carrera de BIOQUIMICA es: ", dsBioquimica))
## [1] "La Desviación Estándard del promedio de calificaciones de la carrera de BIOQUIMICA es: 3.52"
dsQuimica <- round(sd(quimica$promedio), 2)
print(paste("La Desviación Estándard del promedio de calificaciones de la carrera de QUIMICA es: ", dsQuimica))
## [1] "La Desviación Estándard del promedio de calificaciones de la carrera de QUIMICA es: 3.63"
dsCivil <- round(sd(civil$promedio), 2)
print(paste("La Desviación Estándard del promedio de calificaciones de la carrera de CIVIL es: ", dsCivil))
## [1] "La Desviación Estándard del promedio de calificaciones de la carrera de CIVIL es: 3.71"
Determinando coeficiente de variación CV del promedio de calificaciones de tres carreras
- Se hace la relación en términos porcentuales de la desviación con respecto a la media de la variable promedio de calificaciones por cada carrera
- Se muestra el resultado
CVBioquimica <- round(sd(bioquimica$promedio) / mean(bioquimica$promedio) * 100, 2)
print(paste("El coeficiente de variación CV del promedio de calificaciones de la carrera de BIOQUIMICA es: ", CVBioquimica, "%"))
## [1] "El coeficiente de variación CV del promedio de calificaciones de la carrera de BIOQUIMICA es: 4.09 %"
CVQuimica <- round(sd(quimica$promedio) / mean(quimica$promedio) * 100, 2)
print(paste("El coeficiente de variación CV del promedio de calificaciones de la carrera de QUIMICA es: ", CVQuimica, "%"))
## [1] "El coeficiente de variación CV del promedio de calificaciones de la carrera de QUIMICA es: 4.22 %"
CVCivil <- round(sd(civil$promedio) / mean(civil$promedio) * 100, 2)
print(paste("El coeficiente de variación CV del promedio de calificaciones de la carrera de CIVIL es: ", CVCivil, "%"))
## [1] "El coeficiente de variación CV del promedio de calificaciones de la carrera de CIVIL es: 4.32 %"
- Hay mayor Dispersión y variabilidad en los datos del promedio de calificaciones de los alumnos de la carrera de CIVIL con respecto al promedio de calificaciones de los alumnos de las carreras de BIQUIMICA Y QUIMICA. con un valor de:
## [1] 4.32