Analisis de Personas

OBJETIVO:

Realizar un análisis desciptivo de datos de un conjunto de personas para determinar

BLOQUE 1: Creacion del Dataframe

nombres <- c("Juan", "Mary", "Ruben", "Paty", "Jorge", "Luis", "Olga", "Veronica", "Mimi", "Karina", "Nadia", "Oscar", "German", "Carlos", "Rodolfo")
edades <- c(40, 26, 56, 70, 23, 17, 23, 45, 34, 28, 33, 50, 21, 42, 38)
generos <- c("M", "F", "M", "F", "M", "M", "F", "F", "F", "F", "F", "M", "M", "M", "M")
sueldos <- c(5400.00, 6800.50, 34200.20, 68400.40, 23500.90, 32900.00, 26500.90, 25800.20, 20500.40, 21800.20, 13500.00, 22000.80, 35400.50, 90000.00, 18000.00)
edociviles <- c('S', 'C', 'V', 'D', 'V', 'S', 'C', 'V', 'D', 'V', 'C', 'S', 'C', 'C', 'S')

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

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

print(personas)
##     nombres edades generos sueldos edociviles
## 1      Juan     40       M  5400.0          S
## 2      Mary     26       F  6800.5          C
## 3     Ruben     56       M 34200.2          V
## 4      Paty     70       F 68400.4          D
## 5     Jorge     23       M 23500.9          V
## 6      Luis     17       M 32900.0          S
## 7      Olga     23       F 26500.9          C
## 8  Veronica     45       F 25800.2          V
## 9      Mimi     34       F 20500.4          D
## 10   Karina     28       F 21800.2          V
## 11    Nadia     33       F 13500.0          C
## 12    Oscar     50       M 22000.8          S
## 13   German     21       M 35400.5          C
## 14   Carlos     42       M 90000.0          C
## 15  Rodolfo     38       M 18000.0          S

BLOQUE 3: Acceder a ciertos registros

personas[ ,1]            ####Los datos del atributo nombre del dataframe personas
##  [1] Juan     Mary     Ruben    Paty     Jorge    Luis     Olga    
##  [8] Veronica Mimi     Karina   Nadia    Oscar    German   Carlos  
## [15] Rodolfo 
## 15 Levels: Carlos German Jorge Juan Karina Luis Mary Mimi Nadia ... Veronica
personas[ ,3]            ####Los datos del atributo genero del dataframe personas
##  [1] M F M F M M F F F F F M M M M
## Levels: F M
personas[5, ]            ####El registro 5 y todos los atributos
##   nombres edades generos sueldos edociviles
## 5   Jorge     23       M 23500.9          V
personas[6, ]            ####El registro 6 y todos los atributos
##   nombres edades generos sueldos edociviles
## 6    Luis     17       M   32900          S
personas[7:8,c(1,3,4)]   ####El registro 7 y 8 con las columnas 1, 3 y 4
##    nombres generos sueldos
## 7     Olga       F 26500.9
## 8 Veronica       F 25800.2

BLOQUE 4: Realizar análisis general

print("La persona que mas sueldo gana es:")
## [1] "La persona que mas sueldo gana es:"
personas[which.max(personas$sueldos), ] 
##    nombres edades generos sueldos edociviles
## 14  Carlos     42       M   90000          C
print("La persona que menos sueldo gana es:")
## [1] "La persona que menos sueldo gana es:"
personas[which.min(personas$sueldos), ] 
##   nombres edades generos sueldos edociviles
## 1    Juan     40       M    5400          S
print("La persona de mayor edad es:")
## [1] "La persona de mayor edad es:"
personas[which.max(personas$edades), ]   
##   nombres edades generos sueldos edociviles
## 4    Paty     70       F 68400.4          D
print("La persona de menor edad es:")
## [1] "La persona de menor edad es:"
personas[which.min(personas$edades), ]  
##   nombres edades generos sueldos edociviles
## 6    Luis     17       M   32900          S

BLOQUE 5: Determinar la media de edades y sueldos

paste("El valor promedio de la edad en la empresa es de: ",mean (personas$edades)," Años")
## [1] "El valor promedio de la edad en la empresa es de:  36.4  Años"
paste("El valor promedio del sueldo en la empresa es de: ",mean (personas$sueldos)," Pesos")
## [1] "El valor promedio del sueldo en la empresa es de:  29647  Pesos"

BLOQUE 6: Determinar rango de persona por sueldo

rangosueldo <- which(personas$sueldos >= 22000.00 & personas$sueldos <= 28000.00)
print("La persona que ganan entre 22000.00 y 28000.00 de sueldo son:")
## [1] "La persona que ganan entre 22000.00 y 28000.00 de sueldo son:"
personas[rangosueldo, ]
##     nombres edades generos sueldos edociviles
## 5     Jorge     23       M 23500.9          V
## 7      Olga     23       F 26500.9          C
## 8  Veronica     45       F 25800.2          V
## 12    Oscar     50       M 22000.8          S
mediaedad <- which(personas$edades >= mean(personas$edades))
paste("Las personas que se encuentran encima de la edad promedio de ",mean(personas$edades), "son:")
## [1] "Las personas que se encuentran encima de la edad promedio de  36.4 son:"
personas[mediaedad, ]
##     nombres edades generos sueldos edociviles
## 1      Juan     40       M  5400.0          S
## 3     Ruben     56       M 34200.2          V
## 4      Paty     70       F 68400.4          D
## 8  Veronica     45       F 25800.2          V
## 12    Oscar     50       M 22000.8          S
## 14   Carlos     42       M 90000.0          C
## 15  Rodolfo     38       M 18000.0          S

Otras variables

X <- personas[which.max(personas$sueldos),1] #Nombre mayor sueldo
Y <- personas[which.max(personas$sueldos),4] #Sueldo mayor
x <- personas[which.min(personas$sueldos),1] #Nombre menor sueldo
y <- personas[which.min(personas$sueldos),4] #Sueldo menor
A <- personas[which.max(personas$edades),1]  #Nombre mayor edad
B <- personas[which.max(personas$edades),2]  #Edad mayor
a <- personas[which.min(personas$edades),1]  #Nombre menor edad
b <- personas[which.min(personas$edades),2]  #Edad menor

INTERPRETACION DEL ANALISIS

print(paste("Se analizaron los datos de los empleados generandonos los siguientes resultados:"))
## [1] "Se analizaron los datos de los empleados generandonos los siguientes resultados:"
print(personas)
##     nombres edades generos sueldos edociviles
## 1      Juan     40       M  5400.0          S
## 2      Mary     26       F  6800.5          C
## 3     Ruben     56       M 34200.2          V
## 4      Paty     70       F 68400.4          D
## 5     Jorge     23       M 23500.9          V
## 6      Luis     17       M 32900.0          S
## 7      Olga     23       F 26500.9          C
## 8  Veronica     45       F 25800.2          V
## 9      Mimi     34       F 20500.4          D
## 10   Karina     28       F 21800.2          V
## 11    Nadia     33       F 13500.0          C
## 12    Oscar     50       M 22000.8          S
## 13   German     21       M 35400.5          C
## 14   Carlos     42       M 90000.0          C
## 15  Rodolfo     38       M 18000.0          S
print(paste("de lo cual nos dimos cuenta que el empleado con mayor ingreso es ",X," con un sueldo de ",Y,"al mes"))            
## [1] "de lo cual nos dimos cuenta que el empleado con mayor ingreso es  Carlos  con un sueldo de  90000 al mes"
print(paste("y el de menor ingreso es ",x,"con un sueldo de ",y ," al mes y el sueldo promedio de la empresa es de ",mean(personas$sueldos)))
## [1] "y el de menor ingreso es  Juan con un sueldo de  5400  al mes y el sueldo promedio de la empresa es de  29647"
print(paste("donde nos percatamos que las personas que se encuentran ganando entre 22000.00 y 28000.00 pesos son las siguientes: "))
## [1] "donde nos percatamos que las personas que se encuentran ganando entre 22000.00 y 28000.00 pesos son las siguientes: "
personas[which(personas$sueldos >= 22000.00 & personas$sueldos <= 28000.00),c(1, 4)]
##     nombres sueldos
## 5     Jorge 23500.9
## 7      Olga 26500.9
## 8  Veronica 25800.2
## 12    Oscar 22000.8
print(paste("De igual forma se analizaron las edades de los empleados y nos mostro que el empleado mas joves es ",a, "de " ,b," Años "))
## [1] "De igual forma se analizaron las edades de los empleados y nos mostro que el empleado mas joves es  Luis de  17  Años "
print(paste0("y el empleado de mayor edad es ",A," con ",B," Años"))
## [1] "y el empleado de mayor edad es Paty con 70 Años"
print(paste0("donde nuestra edad promedio alcanza los ",mean(personas$edades)," Años, y se encuentran por encima de ella son: "))
## [1] "donde nuestra edad promedio alcanza los 36.4 Años, y se encuentran por encima de ella son: "
personas[which(personas$edades >= mean(personas$edades)),c(1,2)]
##     nombres edades
## 1      Juan     40
## 3     Ruben     56
## 4      Paty     70
## 8  Veronica     45
## 12    Oscar     50
## 14   Carlos     42
## 15  Rodolfo     38