Carlos Jimémez-Gallardo , 2019
EstadÃstico
MSc Infórmatica Educativa
Universidad de La Frontera
Data Scientist
www.innovate.cl
carlos.jimenez@ufrontera.cl
cjimenez@innovate.cl otros
aportes https://www.rpubs.com/CJG
es evidente que R es una herramienta que, a los que realizamos Análisis de Datos, no ha dado bastante libertad. Al respecto es bueno tener ciertas consideraciones respectos de la presentacion.
un propósito, si tiene claro que quiere decir con el gráfico es más fácil escogerlo.
cúal(es) es (son) el tipo de variable que graficará.
a veces es necesario crear nuevas variables en el dataset
muchas veces el gráfico requiere de una tabla resumen.
Las librerias son esenciales para facilitarse la vida. Algunas de ellas
library(tidyverse) # carga un conjunto de librerias necesarias, entre ellas dplyr, ggplot2
si bien todas ayudan, para este documento solo utilizaré GGPLOT2 para no hacer un documento tan extenso.
pueden encontrar el archivo de datos en el siguiente link: https://github.com/cjimenezgallardo/DATASETS/blob/main/datos_empleados.xlsx
Los datos corresponden Sueldo percibidos en una empresa, y que como variable, se tienen:
dataej<-datos_empleados
names(dataej)
## [1] "ID" "Sexo" "FechaNAc" "educacion"
## [5] "labor" "Sueldo_actual" "Sueldo_inicial" "antigüedad"
## [9] "experiencia" "minoria"
CONSEJO: realice un bosquejo manual, que le permita entender que quiere mostrar, para que luego lo contrareste con lo que aparecio en R
Objetivo, mostrar el Comportamiento del sueldo actual.
nota: como es una variable de tipo continua, es ideal buscar el gráfico adeacuado para el tipo de objetivo, en este caso podria funcionar bien un histograma o gráfico de densidad
ggplot(data = dataej,aes(x=Sueldo_actual))+
geom_histogram()
NOTA: el histograma se hace respecto de todos los datos del DATASET original
es necesario mejorar algunas cosas, como por ejemplo.
Titulo
Rotulos,
Escalas
Colores etc.
número de barras (breaks, bins) idealmente utilice el metodo Sturges para su cálculo
ggplot(data = dataej,aes(x=Sueldo_actual))+
geom_histogram(color=1,
bins=9,
fill="red",alpha=0.5)+
ggtitle("Distribución Sueldo Actual")+
xlab("sueldo Actual")+
scale_x_continuous(limits = c(15000,140000))+
ylab("Cantidad")
si bien ud puede utilizar LIMIT, para representar mejor, tenga cuidado a veces confunde más que arregla
ggplot(data = dataej,aes(x=Sueldo_actual))+
geom_histogram(color=1,
bins=9,
fill="red",alpha=0.5)+
ggtitle("Distribución Sueldo Actual")+
xlab("sueldo Actual")+
ylab("Cantidad")
Es notorio el cambio entre considerar la escala y trabajar en funcion delo que aparece automaticamente, ### Gráfico de Densidad
ggplot(data = dataej,aes(x=Sueldo_actual))+
geom_density(color=1,
prob=TRUE,
fill="red",alpha=0.5)+
ggtitle("Distribución Sueldo Actual")+
xlab("sueldo Actual")+
scale_x_continuous(limits = c(15000,140000))+
ylab("Densidad")
aunque no siempre es adecuado, las consideraciones van por el rango en el cual se mueve cada grupo. También se debe tener en cuenta la superposición, para arreglar con los valores de ALPHA(transparencia).
ggplot(data = dataej,aes(x=Sueldo_actual,
colour=as.factor(labor),
fill=as.factor(labor)))+
geom_histogram(alpha=0.7)+
scale_color_manual(values = c("red","blue","green"))+
ggtitle("Distribución Sueldo Actual")+
xlab("sueldo Actual")+
ylab("Cantidad")
ggplot(data = dataej,aes(x=Sueldo_actual, colour = as.factor(labor)))+
geom_density()+
ggtitle("Distribución Sueldo Actual")+
xlab("sueldo Actual")+
ylab("Cantidad")
ggplot(data = dataej,aes(x=Sueldo_actual, colour = as.factor(labor),fill=as.factor(labor)))+
geom_density(alpha=0.5)+
ggtitle("Distribución Sueldo Actual")+
xlab("sueldo Actual")+
ylab("Cantidad")
al usar el comando as.factor(), traduce la variable numerica a texto,
ggplot(data = dataej,aes(x=Sueldo_actual, colour = as.factor(labor),fill=(labor)))+
geom_density(alpha=0.5)+
ggtitle("Distribución Sueldo Actual")+
xlab("sueldo Actual")+
ylab("Cantidad")