Objetivo: Crear documento con formato html markdown para publicarse en Rpubs que muestre la creación de un dataframe en R que integre un conjuto de vectores con atributos de nombres, edades, generos, sueldos, estados civiles de 10 personas y muestre e interprete análisis de los de datos.

1. Crear vectores y luego el dataframe

# Primero llenamos los vectores con datos que necesitaremos
nombre <- c("Juan", "Mary", "Rubén","Paty", "Jorge", 
             "Luis", "Olga", "Verónica", "Mimí", "Karina")
edad <- c(40, 26, 56, 70, 3, 17, 23, 45, 34, 28)
genero <- c('M', 'F', 'M', 'F', 'M', 'M', 'F', 'F', 'F', 'F')
sueldo <- c(5400.90, 6800.50, 34200.20, 68400.40, 23500.90,
             32900, 23550.90, 25800.20, 20500.40, 21800.20)
edocivil <- c('S', 'C', 'V', 'D', 'V',
                'S', 'C', 'V', 'D', 'V')

personas <- data.frame(nombre, edad, genero, sueldo, edocivil)

2. Mostrar los valores del dataframe

personas
##      nombre edad genero  sueldo edocivil
## 1      Juan   40      M  5400.9        S
## 2      Mary   26      F  6800.5        C
## 3     Rubén   56      M 34200.2        V
## 4      Paty   70      F 68400.4        D
## 5     Jorge    3      M 23500.9        V
## 6      Luis   17      M 32900.0        S
## 7      Olga   23      F 23550.9        C
## 8  Verónica   45      F 25800.2        V
## 9      Mimí   34      F 20500.4        D
## 10   Karina   28      F 21800.2        V

3. Acceder a ciertos registros

# Los datos del atributo nombre del dataframe personas
personas$nombre
##  [1] Juan     Mary     Rubén    Paty     Jorge    Luis     Olga    
##  [8] Verónica Mimí     Karina  
## Levels: Jorge Juan Karina Luis Mary Mimí Olga Paty Rubén Verónica
# Los datos del atributo genero del dataframe personas
personas$genero
##  [1] M F M F M M F F F F
## Levels: F M
# El registro 5 y todos los atributos
personas[5,]
##   nombre edad genero  sueldo edocivil
## 5  Jorge    3      M 23500.9        V
# El registro 6 y todos los atributos
personas[6, ]
##   nombre edad genero sueldo edocivil
## 6   Luis   17      M  32900        S
# El registro 7 y 8 con las columnas 1, 3 y 4
personas[c(7,9), c(1,3,4)]
##   nombre genero  sueldo
## 7   Olga      F 23550.9
## 9   Mimí      F 20500.4

4. Realizar análisis general

# Determinar todos los datos de la persona que MAS sueldo gana. max()
personas[which.max(personas$sueldo),] 
##   nombre edad genero  sueldo edocivil
## 4   Paty   70      F 68400.4        D
# Determinar todos los datos de la persona que MENOS sueldo gana. min()
personas[which.min(personas$sueldo),] # which.max(personas$sueldos) 
##   nombre edad genero sueldo edocivil
## 1   Juan   40      M 5400.9        S
# Determinar todos los datos de la persona que MAS edad tiene
personas[which.max(personas$edad),] # which.max(personas$edades) 
##   nombre edad genero  sueldo edocivil
## 4   Paty   70      F 68400.4        D
# Determinar todos los datos de la persona que MENOS edad tiene
personas[which.min(personas$edad),] # which.min(personas$edades) 
##   nombre edad genero  sueldo edocivil
## 5  Jorge    3      M 23500.9        V

Bloque 5. Determinar la media de edades y sueldos

paste("El promedio de edad es: ", mean(personas$edad))
## [1] "El promedio de edad es:  34.2"
paste("El promedio de los sueldos es: ", mean(personas$sueldo))
## [1] "El promedio de los sueldos es:  26285.46"

Bloque 6. Determinar rango de persona por sueldo

# cuáles personas están por encima de la media de la edad
# La función which(argumentos ...) devuelve la posición de uno o varios registros
mediaEdad <- mean(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
# Cuáles personas tienen un sueldo entre 22000 y 28000
cuales <- which(personas$sueldo >= 22000 & personas$sueldo >= 28000)
personas[cuales, ] # Todos sus campos
##   nombre edad genero  sueldo edocivil
## 3  Rubén   56      M 34200.2        V
## 4   Paty   70      F 68400.4        D
## 6   Luis   17      M 32900.0        S

Falta la interpretación del análisis