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

Creacion de vectores y posteriormente DataFrame

# Primero llenamos los vectores

nombres <- c("Juan", "Mary", "Ruben", "Paty", "Jorge", "Luis","Olga", "Veronica", "Mimi", "Karina", "Cesar", "Daniela", "Martin", "Vaneza", "Angel")
edades<- c(40,26,56,70,3,17,23,45,34,28,35,29,63,71,21)
generos <- c("M", "F","M", "F","M", "M", "F", "F", "F", "F","M", "F","M", "F","M")
sueldos <- c(5400.90, 6800.50, 34200.20, 68400.40, 23500.90, 32900, 23550.90, 25800.20, 20500.40, 21800.20,45231.22, 8995.12, 30245.12, 24997.21, 52857.20 )
edociviles <- c("S", "C", "V", "D", "V", "S" , "C","V", "D" ,"V", "C", "V", "D", "V","S")

#Creando DataFrame
personas <- data.frame(nombres,edades,generos,sueldos,edociviles)

Mostrar el dataframe en pantalla. Todos los registros y todas las columnas.

# Mostrando DataFrame
personas
##     nombres edades generos  sueldos edociviles
## 1      Juan     40       M  5400.90          S
## 2      Mary     26       F  6800.50          C
## 3     Ruben     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  Veronica     45       F 25800.20          V
## 9      Mimi     34       F 20500.40          D
## 10   Karina     28       F 21800.20          V
## 11    Cesar     35       M 45231.22          C
## 12  Daniela     29       F  8995.12          V
## 13   Martin     63       M 30245.12          D
## 14   Vaneza     71       F 24997.21          V
## 15    Angel     21       M 52857.20          S

Accediendo a ciertos registros

# Todos los Nombres del DataFrame Personas
personas$nombres
##  [1] Juan     Mary     Ruben    Paty     Jorge    Luis     Olga    
##  [8] Veronica Mimi     Karina   Cesar    Daniela  Martin   Vaneza  
## [15] Angel   
## 15 Levels: Angel Cesar Daniela Jorge Juan Karina Luis Martin Mary ... Veronica
# Todos los Generos del DataFrame Personas
personas$generos
##  [1] M F M F M M F F F F M F M F M
## Levels: F M
# Muestra el registro 5 con todos los atributos
personas[5,]
##   nombres edades generos sueldos edociviles
## 5   Jorge      3       M 23500.9          V
# Muestra el registro 6 con todos los atributos
personas[6,]
##   nombres edades generos sueldos edociviles
## 6    Luis     17       M   32900          S
# Muestra el registro 7 con los atributos de las columnas 1, 3 y 4
personas [7, c(1,3,4)]
##   nombres generos sueldos
## 7    Olga       F 23550.9
# Muestra el registro 8 con los atributos de las columnas 1, 3 y 4
personas [8, c(1,3,4)]
##    nombres generos sueldos
## 8 Veronica       F 25800.2

Realizar análisis general

# La persona con mas alto salario y sus datos
personas[which.max((personas$sueldos)),]
##   nombres edades generos sueldos edociviles
## 4    Paty     70       F 68400.4          D
# La persona con mas bajo salario y sus datos
personas[which.min((personas$sueldos)),]
##   nombres edades generos sueldos edociviles
## 1    Juan     40       M  5400.9          S
# La persona con mayor edad y sus datos
personas[which.max((personas$edades)),]
##    nombres edades generos  sueldos edociviles
## 14  Vaneza     71       F 24997.21          V
# La persona con menor edad y sus datos
personas[which.min((personas$edades)),]
##   nombres edades generos sueldos edociviles
## 5   Jorge      3       M 23500.9          V

Determinar la media de edades y sueldos

# Promedio de edad
paste("El promedio de edad es de", mean(personas$edades))
## [1] "El promedio de edad es de 37.4"
# Promedio de sueldo
paste("El promedio de sueldo es de", "$", round(mean(personas$sueldos),2))
## [1] "El promedio de sueldo es de $ 28345.36"

Determinar rango de persona por sueldo

# Personas con sueldos entre $22,000 y $28,000 Muestra todos los atributos
personas[which(personas$sueldo >= 22000 & personas$sueldo <= 28000), ]
##     nombres edades generos  sueldos edociviles
## 5     Jorge      3       M 23500.90          V
## 7      Olga     23       F 23550.90          C
## 8  Veronica     45       F 25800.20          V
## 14   Vaneza     71       F 24997.21          V
# Personas con edades por encima de la media
personas[which(personas$edades >= mean(personas$edades)), ]
##     nombres edades generos  sueldos edociviles
## 1      Juan     40       M  5400.90          S
## 3     Ruben     56       M 34200.20          V
## 4      Paty     70       F 68400.40          D
## 8  Veronica     45       F 25800.20          V
## 13   Martin     63       M 30245.12          D
## 14   Vaneza     71       F 24997.21          V

Mostrar una interpretación de la práctica

paste("En la práctica el conjunto de datos es de",nrow(personas), " Registros y tiene", length(personas)," columnas, la persona que más gana es ", personas[which.max((personas$sueldos)),c(1)],", su sueldo es de $", personas[which.max((personas$sueldos)),c(4)], ", la persona que menos ingresos recibe es", personas[which.min((personas$sueldos)),c(1)], ", su sueldo es de $",personas[which.min((personas$sueldos)),c(4)], ".
El valor medio del sueldo del conjunto de datos es $", round(mean(personas$sueldos),2))
## [1] "En la práctica el conjunto de datos es de 15  Registros y tiene 5  columnas, la persona que más gana es  Paty , su sueldo es de $ 68400.4 , la persona que menos ingresos recibe es Juan , su sueldo es de $ 5400.9 .\nEl valor medio del sueldo del conjunto de datos es $ 28345.36"
paste("Por otra parte, con respecto a las edades, el valor medio es de",mean(personas$edades),"años , la persona más joven se llama", personas[which.min((personas$edades)),c(1)], " y tiene", personas[which.min((personas$edades)),c(2)], "años y la persona con mayor edad se llama",personas[which.max((personas$edades)),c(1)], "y tienen", personas[which.max((personas$edades)),c(2)],"años.")
## [1] "Por otra parte, con respecto a las edades, el valor medio es de 37.4 años , la persona más joven se llama Jorge  y tiene 3 años y la persona con mayor edad se llama Vaneza y tienen 71 años."
paste("Continuando con el analisis las personas que tienen un sueldo entre 22000.00 y 28000.00  son:")
## [1] "Continuando con el analisis las personas que tienen un sueldo entre 22000.00 y 28000.00  son:"
personas[which(personas$sueldo >= 22000 & personas$sueldo <= 28000), ]
##     nombres edades generos  sueldos edociviles
## 5     Jorge      3       M 23500.90          V
## 7      Olga     23       F 23550.90          C
## 8  Veronica     45       F 25800.20          V
## 14   Vaneza     71       F 24997.21          V
print ("Y por último se muestran que las personas que están por encima de la media de edad son:")
## [1] "Y por último se muestran que las personas que están por encima de la media de edad son:"
personas[which(personas$edades >= mean(personas$edades)), ]
##     nombres edades generos  sueldos edociviles
## 1      Juan     40       M  5400.90          S
## 3     Ruben     56       M 34200.20          V
## 4      Paty     70       F 68400.40          D
## 8  Veronica     45       F 25800.20          V
## 13   Martin     63       M 30245.12          D
## 14   Vaneza     71       F 24997.21          V