Este script determina medidas de tendencia central, media, mediana y moda de algunas variables cuantitativas de alumnos. 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
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 ...
Estadísticos de genero con summary()
summary(alumnos$genero)
## F M
## 2436 2564
Estadísticos de carrera con summary()
summary(alumnos$carrera)
## ADMINISTRACION ARQUITECTURA BIOQUIMICA CIVIL ELECTRICA
## 390 421 374 378 407
## ELECTRONICA INDUSTRIAL INFORMATICA MECANICA MECATRONICA
## 403 379 354 336 345
## QUIMICA SISTEMAS TIC
## 415 397 401
Estadísticos de edades con summary()
summary(alumnos$edad)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 17 20 21 21 22 25
Estadísticos de promedios con summary()
summary(alumnos$promedio)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 73.28 83.68 85.95 85.99 88.42 99.20
Estadísticos de pesos con summary()
summary(alumnos$peso)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 52.77 60.05 73.69 70.24 80.10 91.46
Estadísticos de alturas con summary()
summary(alumnos$altura)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 152.8 160.1 173.7 170.2 180.1 191.5
Promedio de alumnos de dos carreras
# 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
sistemas <- filter(alumnos, carrera == "SISTEMAS")
informatica <- filter(alumnos, carrera == "INFORMATICA")
arquitectura <- filter(alumnos, carrera == "ARQUITECTURA")
mean(sistemas$promedio)
## [1] 85.98738
mean(informatica$promedio)
## [1] 85.9652
mean(arquitectura$promedio)
## [1] 85.9043
if (mean(sistemas$promedio) > mean(informatica$promedio)) {
print("Los alumnos de sistemas tienen mejor promedio académico")
}
## [1] "Los alumnos de sistemas tienen mejor promedio académico"
if (mean(sistemas$promedio) < mean(informatica$promedio)) {
print("Los alumnos de informatica tienen mejor promedio académico")
}
if (mean(sistemas$promedio) == mean(informatica$promedio)) {
print("Los alumnos de informatica tienen promedio académico similar a los alumnos de sistemas")
}