Se dispone de un archivo llamado “empleados”, el cual contiene los datos para comparar este taller y será importado por medio del código:
library(readxl)
empleados <- read_excel("C:/Users/cotel/Documents/R/empleados.xls")
empleados$genero <- factor(empleados$genero, labels=c("Femenino", "Masculino"))
empleados$catlab <- factor(empleados$catlab, labels=c("Administrativo", "Seguridad", "Directivo"))
empleados$minoria <- factor(empleados$minoria, labels=c("No", "Si"))
#Visualiza los primeros datos
head(empleados)
## # A tibble: 6 x 9
## id genero educ catlab salario salini tiempemp expprev minoria
## <dbl> <fct> <dbl> <fct> <dbl> <dbl> <dbl> <dbl> <fct>
## 1 1 Masculino 15 Directivo 57000 27000 98 144 No
## 2 2 Masculino 16 Administr~ 40200 18750 98 36 No
## 3 3 Femenino 12 Administr~ 21450 12000 98 381 No
## 4 4 Femenino 8 Administr~ 21900 13200 98 190 No
## 5 5 Masculino 15 Administr~ 45000 21000 98 138 No
## 6 6 Masculino 15 Administr~ 32100 13500 98 67 No
# Estructura del dataframe
str(empleados)
## Classes 'tbl_df', 'tbl' and 'data.frame': 474 obs. of 9 variables:
## $ id : num 1 2 3 4 5 6 7 8 9 10 ...
## $ genero : Factor w/ 2 levels "Femenino","Masculino": 2 2 1 1 2 2 2 1 1 1 ...
## $ educ : num 15 16 12 8 15 15 15 12 15 12 ...
## $ catlab : Factor w/ 3 levels "Administrativo",..: 3 1 1 1 1 1 1 1 1 1 ...
## $ salario : num 57000 40200 21450 21900 45000 ...
## $ salini : num 27000 18750 12000 13200 21000 ...
## $ tiempemp: num 98 98 98 98 98 98 98 98 98 98 ...
## $ expprev : num 144 36 381 190 138 67 114 0 115 244 ...
## $ minoria : Factor w/ 2 levels "No","Si": 1 1 1 1 1 1 1 1 1 1 ...
# Nombre de las variables
names(empleados)
## [1] "id" "genero" "educ" "catlab" "salario" "salini"
## [7] "tiempemp" "expprev" "minoria"
# Separa los nombre de cada variable del dataframe
attach(empleados)
# Resumen de de una variable
mean(salario)
## [1] 34419.57
median(salario)
## [1] 28875
var(salario) # Variance
## [1] 291578214
sd(salario) # Standard deviation
## [1] 17075.66
max(salario) # Max value
## [1] 135000
min(salario) # Min value
## [1] 15750
range(salario) # Range
## [1] 15750 135000
quantile(salario) # Quantiles 25%
## 0% 25% 50% 75% 100%
## 15750.0 24000.0 28875.0 36937.5 135000.0
quantile(salario, c(.3,.6,.9)) # Customized quantiles
## 30% 60% 90%
## 24885.0 30750.0 59392.5
Y podemos ordenarlo de la siguiente manera:
resumengrupo <- tapply(salario,genero, summary)
resumengrupo
## $Femenino
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 15750 21563 24300 26032 28500 58125
##
## $Masculino
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 19650 28050 32850 41442 50413 135000