data <- read.csv("Salaries.csv", sep = ";")
summary(data)
## rank discipline yrs.since.phd yrs.service
## Length:397 Length:397 Min. : 1.00 Min. : 0.00
## Class :character Class :character 1st Qu.:12.00 1st Qu.: 7.00
## Mode :character Mode :character Median :21.00 Median :16.00
## Mean :22.31 Mean :17.61
## 3rd Qu.:32.00 3rd Qu.:27.00
## Max. :56.00 Max. :60.00
## sex salary
## Length:397 Min. : 57800
## Class :character 1st Qu.: 91000
## Mode :character Median :107300
## Mean :113706
## 3rd Qu.:134185
## Max. :231545
str(data)
## 'data.frame': 397 obs. of 6 variables:
## $ rank : chr "Prof" "Prof" "AsstProf" "Prof" ...
## $ discipline : chr "B" "B" "B" "B" ...
## $ yrs.since.phd: int 19 20 4 45 40 6 30 45 21 18 ...
## $ yrs.service : int 18 16 3 39 41 6 23 45 20 18 ...
## $ sex : chr "Male" "Male" "Male" "Male" ...
## $ salary : int 139750 173200 79750 115000 141500 97000 175000 147765 119250 129000 ...
Coeficiente de Variación
# Calcula el CV para mujeres
cv_mujeres <- (sd(data$salary[data$sex == "Female"]) / mean(data$salary[data$sex == "Female"])) * 100
# Calcula el CV para hombres
cv_hombres <- (sd(data$salary[data$sex == "Male"]) / mean(data$salary[data$sex == "Male"])) * 100
# Imprime los resultados
cat("Coeficiente de Variación para mujeres:", cv_mujeres, "%\n")
## Coeficiente de Variación para mujeres: 25.69456 %
cat("Coeficiente de Variación para hombres:", cv_hombres, "%\n")
## Coeficiente de Variación para hombres: 26.4461 %
1. Cantidad de registros por género
# Cantidad de registro por género
conteo_sex <- table(data$sex)
print(conteo_sex)
##
## Female Male
## 39 358
2. Gráfico Histograma de Salarios
# Configura los colores para género
colores <- c(Female = "pink", Male = "cadetblue")
#Gráfico de histograma por género
ggplot(data, aes(x = salary, fill = sex)) +
geom_histogram(position = "identity", alpha = 0.5, bins = 30) +
labs(title = "Histograma de Salarios por Género",
x = "Salario",
y = "Frecuencia") +
scale_fill_manual(values = colores) +
theme_minimal()
3. Gráfico de Densidad por Género
# Gráfico de densidad por género
ggplot(data, aes(x = salary, fill = sex)) +
geom_density(alpha = 0.5) +
labs(title = "Distribución de Salarios por Género",
x = "Salario",
y = "Densidad") +
scale_fill_manual(values = colores) +
theme_minimal()
4. Gráfico de Caja por Género
# Gráfico de caja por género
ggplot(data, aes(x = sex, y = salary, fill = sex)) +
geom_boxplot() +
scale_fill_manual(values = colores) +
labs(title = "Distribución del Salario por Género", x = "Género", y = "Salario") +
theme_minimal()
5. Gráfico de Caja de Salarios por Rango
# Gráfico de caja por rango
ggplot(data, aes(x = rank, y = salary, fill = sex)) +
geom_boxplot() +
labs(title = "Salarios por Salario y Rango",
x = "Rango",
y = "Salario") +
scale_fill_manual(values = colores) +
theme_minimal()
6. Gráfico de Caja por Género para cada Rango
ggplot(data, aes(x = rank, y = salary, fill = sex)) +
geom_boxplot() +
facet_wrap(~sex) +
scale_fill_manual(values = colores) +
labs(title = "Salarios por Género y Rango",
x = "Rango",
y = "Salario") +
theme_minimal()
7. Grafico de Caja por Género y Disciplina
# Crea el boxplot con ggplot2
ggplot(data, aes(x = sex, y = salary, fill = sex)) +
geom_boxplot() +
facet_grid(. ~ discipline) +
scale_fill_manual(values = colores) +
labs(title = "Distribución del Salario por Género y Disciplina", x = "Género", y = "Salario") +
theme_minimal()
8. Gráficos de barras Relación entre años desde el Doctorado vs Salario
rangos <- cut(data$yrs.since.phd, breaks = c(0, 10, 20, 30, 40, 50, max(data$yrs.since.phd)), labels = c("0-10", "11-20", "21-30", "31-40", "41-50", "50+"), include.lowest = TRUE)
# Agregar la columna de rangos al dataframe
data$rangos_yrs_since_phd <- rangos
# Crear el gráfico de barras
ggplot(data, aes(x = rangos_yrs_since_phd, y = salary, fill = rangos_yrs_since_phd)) +
geom_bar(stat = "identity") +
labs(title = "Relación entre años desde el doctorado y salario",
x = "Años desde el doctorado",
y = "Salario") +
scale_fill_manual(values = c("0-10" = "brown1", "11-20" = "cadetblue", "21-30" = "darkolivegreen1", "31-40" = "#BF3EFF", "41-50" = "gold", "50+" = "aquamarine3")) +
theme_minimal()
9. Gráficos de barras entre años de servicio vs Salario
# Crear rangos para la columna "yrs.service"
rangos2 <- cut(data$yrs.service, breaks = c(0, 10, 20, 30, 40, 50, max(data$yrs.service)), labels = c("0-10", "11-20", "21-30", "31-40", "41-50", "50+"), include.lowest = TRUE)
# Agregar la columna de rangos al dataframe
data$rangos_yrs_service <- rangos2
# Crear el gráfico de barras
ggplot(data, aes(x = rangos_yrs_service, y = salary, fill = rangos_yrs_service)) +
geom_bar(stat = "identity") +
labs(title = "Relación entre años de servicio y salario",
x = "Años de servicio",
y = "Salario") +
scale_fill_manual(values = c("0-10" = "brown1", "11-20" = "cadetblue", "21-30" = "darkolivegreen1", "31-40" = "#BF3EFF", "41-50" = "gold", "50+" = "aquamarine3")) +
theme_minimal()
10. Gráfico de Dispersión entre Años de Servicio y Salario
ggplot(data, aes(x = yrs.service, y = salary, color = sex)) +
geom_point() +
labs(title = "Dispersión entre Años de Servicio y Salario por Género",
x = "Años de Servicio",
y = "Salario") +
scale_fill_manual(values = colores) +
theme_minimal()
11. Gráfico de Dispersión entre Años desde el PhD y Salario
ggplot(data, aes(x = yrs.since.phd, y = salary, color = sex)) +
geom_point() +
labs(title = "Dispersión entre Años desde el PhD y Salario por Género",
x = "Años desde el PhD",
y = "Salario") +
scale_fill_manual(values = colores) +
theme_minimal()
Conclusiones