### Objetivo Realizar un análisis desciptivo de datos de un conjunto de personas para determinar
### diferentes consultas agregando 5 registros mas como los de la clase anterior
### 1Crear vectores y dataframe
nombre <- c("Juan", "Mary", "Rubén","Paty", "Jorge",
"Luis", "Olga", "Verónica", "Mimí", "Karina",
"Francisco", "Sandra","Natalia","Fernanda","Braulio")
edad <- c(40, 26, 56, 70, 3, 17, 23, 45, 34, 28, 28, 44, 23, 85, 32)
genero <- c('M', 'F', 'M', 'F', 'M', 'M', 'F', 'F', 'F', 'F','M','F','F','F','M')
sueldo <- c(5400.90, 6800.50, 34200.20, 68400.40, 23500.90,
32900, 23550.90, 25800.20, 20500.40, 21800.20,
10500.85, 13200, 2000,6000,70300)
edocivil <- c('S', 'C', 'V', 'D', 'V',
'S', 'C', 'V', 'D', 'V',
'C', 'D', 'S', 'V', 'S' )
personas <- data.frame(nombre, edad, genero, sueldo, edocivil)
###2 Mostrar valores del dataframe
personas
## nombre edad genero sueldo edocivil
## 1 Juan 40 M 5400.90 S
## 2 Mary 26 F 6800.50 C
## 3 Rubén 56 M 34200.20 V
## 4 Paty 70 F 68400.40 D
## 5 Jorge 3 M 23500.90 V
## 6 Luis 17 M 32900.00 S
## 7 Olga 23 F 23550.90 C
## 8 Verónica 45 F 25800.20 V
## 9 Mimí 34 F 20500.40 D
## 10 Karina 28 F 21800.20 V
## 11 Francisco 28 M 10500.85 C
## 12 Sandra 44 F 13200.00 D
## 13 Natalia 23 F 2000.00 S
## 14 Fernanda 85 F 6000.00 V
## 15 Braulio 32 M 70300.00 S
### 3 Acceder a ciertos registros
personas$nombre ### Los datos del atributo nombre del dataframe personas
## [1] Juan Mary Rubén Paty Jorge Luis Olga
## [8] Verónica Mimí Karina Francisco Sandra Natalia Fernanda
## [15] Braulio
## 15 Levels: Braulio Fernanda Francisco Jorge Juan Karina Luis Mary ... Verónica
personas$genero ### Los datos del atributo genero del dataframe personas
## [1] M F M F M M F F F F M F F F M
## Levels: F M
personas[5,] ###Mostrar el registro 5 y todos sus atributos
## nombre edad genero sueldo edocivil
## 5 Jorge 3 M 23500.9 V
personas[6,] ### Mostrar El registro 6 y todos los atributos
## nombre edad genero sueldo edocivil
## 6 Luis 17 M 32900 S
personas[c(7,9),c(1,3,4)] ### El registro 7 y 8 con las columnas 1, 3 y 4
## nombre genero sueldo
## 7 Olga F 23550.9
## 9 Mimí F 20500.4
###4 Realizar análisis general
personas[which.max(personas$sueldo),] ### ver el que mas gana
## nombre edad genero sueldo edocivil
## 15 Braulio 32 M 70300 S
personas[which.min(personas$sueldo),] ### ver el que menos gana
## nombre edad genero sueldo edocivil
## 13 Natalia 23 F 2000 S
personas[which.max(personas$edad),] ### ver edad del mas grande
## nombre edad genero sueldo edocivil
## 14 Fernanda 85 F 6000 V
personas[which.min(personas$edad),] ### ver edad el mas pequeño
## nombre edad genero sueldo edocivil
## 5 Jorge 3 M 23500.9 V
###5 Determinar la media de edades y sueldos
paste("El promedio de edad es: ", mean(personas$edad)) ### sacar el promedio de la edad
## [1] "El promedio de edad es: 36.9333333333333"
paste("El promedio de sueldo es: ", mean(personas$sueldo)) ### sacar el promedio del sueldo
## [1] "El promedio de sueldo es: 24323.6966666667"
#### 6 Determinar rango de persona por sueldo
### Cuales son las personas que ganan entre 22000 y 28000 y todos sus atributos
cuales <- which(personas$sueldo >= 22000 & personas$sueldo <= 28000)
personas[cuales, ] # Todos sus campos
## nombre edad genero sueldo edocivil
## 5 Jorge 3 M 23500.9 V
## 7 Olga 23 F 23550.9 C
## 8 Verónica 45 F 25800.2 V
# cuáles personas están por encima de la media de la edad
mediaEdad <- mean(personas$edad)
cuales <- which(personas$edad >= mediaEdad) # Por encima de la media
personas[cuales, ]
## nombre edad genero sueldo edocivil
## 1 Juan 40 M 5400.9 S
## 3 Rubén 56 M 34200.2 V
## 4 Paty 70 F 68400.4 D
## 8 Verónica 45 F 25800.2 V
## 12 Sandra 44 F 13200.0 D
## 14 Fernanda 85 F 6000.0 V
Interpretar análisis
print ('En la práctica que se realiza encontramos un conjunto de datos de 15 registros con 5 columnas, la persona que tiene un mayor sueldo es Braulio y la persona que percibe menos ingresos es Natalia. El valor medio de este conjunto de datos es de 24323.6966.')
## [1] "En la práctica que se realiza encontramos un conjunto de datos de 15 registros con 5 columnas, la persona que tiene un mayor sueldo es Braulio y la persona que percibe menos ingresos es Natalia. El valor medio de este conjunto de datos es de 24323.6966."
print ('De acuerdo a la información generada, con respecto a las edades, el valor medio es de 36.9333, en donde se puede observar que la persona más joven es Jorge con 3 años y la persona mas grande se llama Fernanda y tiene 85 años.')
## [1] "De acuerdo a la información generada, con respecto a las edades, el valor medio es de 36.9333, en donde se puede observar que la persona más joven es Jorge con 3 años y la persona mas grande se llama Fernanda y tiene 85 años."
print('Las personas que tienen un sueldo entre 22000.00 y 28000.00 son: ')
## [1] "Las personas que tienen un sueldo entre 22000.00 y 28000.00 son: "
print('Jorge')
## [1] "Jorge"
print('Olga')
## [1] "Olga"
print('Veronica')
## [1] "Veronica"
print ('Y por último la práctica muestra que las personas que están por encima de la media de la edad de son: ')
## [1] "Y por último la práctica muestra que las personas que están por encima de la media de la edad de son: "
print('Juan')
## [1] "Juan"
print('Ruben')
## [1] "Ruben"
print('Paty')
## [1] "Paty"
print('Verónica')
## [1] "Verónica"
print('Sandra')
## [1] "Sandra"
print('Fernanda')
## [1] "Fernanda"