### 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"