Objetivo: Realizar un analisis descriptivo de datos de un conjuntos de personas para determinar…
1. Crear vectores y luego dataframe
# Primero llenamos los vectores con los datos que nececitamos
nombres<-c("Juan","Mary","Ruben","Paty","Jorge","Luis","Olga","Veronica","Mimi","Karina","Claudia","Marco","Oscar","Martin","Jose")
edades<-c(40,26,56,30,53,17,23,45,34,28,36,45,63,38,52)
generos<-c('M','F','M','F','M','M','F','F','F','F','F','M','M','M','M')
sueldos<-c(15400.90,6800.50,34200.20,68400.40,23500.90,32900,23550.90,25800.20,20500.40,21800.20,15600.54,13000,18300.99,9600,5743.76)
edociviles<-c("S","C","V","D","V","S","C","V","D","V","S","C","V","D","V")
personas<-data.frame(nombres,edades,generos,sueldos,edociviles)
2. Muestra todos los valores del dataframe
personas
## nombres edades generos sueldos edociviles
## 1 Juan 40 M 15400.90 S
## 2 Mary 26 F 6800.50 C
## 3 Ruben 56 M 34200.20 V
## 4 Paty 30 F 68400.40 D
## 5 Jorge 53 M 23500.90 V
## 6 Luis 17 M 32900.00 S
## 7 Olga 23 F 23550.90 C
## 8 Veronica 45 F 25800.20 V
## 9 Mimi 34 F 20500.40 D
## 10 Karina 28 F 21800.20 V
## 11 Claudia 36 F 15600.54 S
## 12 Marco 45 M 13000.00 C
## 13 Oscar 63 M 18300.99 V
## 14 Martin 38 M 9600.00 D
## 15 Jose 52 M 5743.76 V
3. Acceder a ciertos registros
personas$nombres
## [1] Juan Mary Ruben Paty Jorge Luis Olga
## [8] Veronica Mimi Karina Claudia Marco Oscar Martin
## [15] Jose
## 15 Levels: Claudia Jorge Jose Juan Karina Luis Marco Martin Mary ... Veronica
personas$edades
## [1] 40 26 56 30 53 17 23 45 34 28 36 45 63 38 52
personas$sueldos
## [1] 15400.90 6800.50 34200.20 68400.40 23500.90 32900.00 23550.90
## [8] 25800.20 20500.40 21800.20 15600.54 13000.00 18300.99 9600.00
## [15] 5743.76
personas$generos
## [1] M F M F M M F F F F F M M M M
## Levels: F M
personas$edociviles
## [1] S C V D V S C V D V S C V D V
## Levels: C D S V
# Acceder al registro 5 y a todos sus atributos
personas[5,]
## nombres edades generos sueldos edociviles
## 5 Jorge 53 M 23500.9 V
# Acceder al registro 6 y a todos sus atributos
personas[6,]
## nombres edades generos sueldos edociviles
## 6 Luis 17 M 32900 S
# Acceder al registro 11 y a todos sus atributos
personas[11,]
## nombres edades generos sueldos edociviles
## 11 Claudia 36 F 15600.54 S
personas [c(7,9), c(1,3,4)]
## nombres generos sueldos
## 7 Olga F 23550.9
## 9 Mimi F 20500.4
4. Realizar analis general
# Persona con sueldo mas alto
personas[which.max(personas$sueldos),]
## nombres edades generos sueldos edociviles
## 4 Paty 30 F 68400.4 D
# Persona que menos gana
personas[which.min(personas$sueldos),]
## nombres edades generos sueldos edociviles
## 15 Jose 52 M 5743.76 V
# Persona con mayor edad
personas[which.max(personas$edades),]
## nombres edades generos sueldos edociviles
## 13 Oscar 63 M 18300.99 V
# Persona con menor edad
personas[which.min(personas$edades),]
## nombres edades generos sueldos edociviles
## 6 Luis 17 M 32900 S
paste("El promedio de edad es: ",mean(personas$edades))
## [1] "El promedio de edad es: 39.0666666666667"
paste("El promedio de los sueldos es: ",mean(personas$sueldos))
## [1] "El promedio de los sueldos es: 22339.9926666667"
mediaEdades<-mean(edades)
cuales<-which(personas$edades>=mediaEdades) # por encima de la media
personas[cuales,]
## nombres edades generos sueldos edociviles
## 1 Juan 40 M 15400.90 S
## 3 Ruben 56 M 34200.20 V
## 5 Jorge 53 M 23500.90 V
## 8 Veronica 45 F 25800.20 V
## 12 Marco 45 M 13000.00 C
## 13 Oscar 63 M 18300.99 V
## 15 Jose 52 M 5743.76 V
# Personas que tienen un sueldo entre 22000 y 28000
cuales<-which(personas$sueldos>=22000 & personas$sueldos<=28000)
personas[cuales,]
## nombres edades generos sueldos edociviles
## 5 Jorge 53 M 23500.9 V
## 7 Olga 23 F 23550.9 C
## 8 Veronica 45 F 25800.2 V