https://r-charts.com/es/

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.

¿Qué se debe tener en cuenta?

  • 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
library(dygraphs)
library(gganimate)
library(plotly)
library(esquisse) # para grafica dinamica
library(GGally) #grafica
library(ggthemes) #grafica
library(ggThemeAssist) #grafica
library(gdtools) #grafica
library(highcharter) #para graficar
library(hrbrthemes)
library(viridis) #grafica
library(lattice) # graficas avanzada
library(treemap)
library(corrplot)
library(ggmap)
library(maps)
library(xtable) # para tablas de contingencia

si bien todas ayudan, para este documento solo utilizaré GGPLOT2 para no hacer un documento tan extenso.

Construcción

  • Carguemos un dataset.

pueden encontrar el archivo de datos en el siguiente link: https://github.com/cjimenezgallardo/DATASETS

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"

Mi primer gráfico

CONSEJO: realice un bosquejo manual, que le permita entender que quiere mostrar, para que luego lo contrarreste con lo que apareció en R

nota: IDENTIFIQUE EL TIPO DE VARIABLE, esto define que tipos de gráficos pueden usarse. de lo contrario deberá crear nuevas variables o crear tablas resúmenes.

Histograma

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 método 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")

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")

Gráfico de Barras

**Puedes profundizar en los gráficos de barras en este link

https://rpubs.com/CJG/1029978

  • Frecuencia variable independiente
ggplot(data=dataej,aes(x=labor))+
  geom_bar( )

Promedio Sueldo por en la variable independiente

en primer lugar debe crearse una tabla resumen

promedio_sueldo_labor<-dataej %>%
  group_by(labor) %>% 
  summarise(Promedio_sueldo =mean(Sueldo_actual))
ggplot(data=promedio_sueldo_labor,aes(x=labor, y=Promedio_sueldo))+
  geom_bar(stat="identity")+
  labs(title="PROMEDIO Sueldo por labor",
       x="LABOR",
       y= "Promedio")

Gráfico de Barras Agrupadas

Nota: En ocasiones la variable CUANTITATIVA debe transformarse para que sea considerada como carácter

ggplot(data = dataej, aes(x=Sexo, fill=as.factor(labor))) + 
  geom_bar(position = "fill")

Gráfico de Líneas

Puedes profundizar en los gráficos de líneas en este link

https://rpubs.com/CJG/1030512

Nota: Recordar que la variable X o el eje horizontal debe ser continuo

promedio_sueldo_ed<-dataej %>%
  group_by(educacion) %>% 
  summarise(Promedio_sueldo =mean(Sueldo_actual))

ggplot(data=promedio_sueldo_ed,aes(x=educacion, y=Promedio_sueldo ))+
  geom_line()+
  geom_point()

para variaciones ver GRAFICA DE LINEAS EN R

Gráfico de Caja (bigotes, boxplot, etc)

nota: Útil para análisis de valores atípicos en variables continuas.

Solo la variable dependiente

ggplot(dataej, aes(y=Sueldo_actual)) + 
  geom_boxplot()

Variable dependiente por variable independiente

ggplot(dataej, aes(x=as.factor(labor) , y=Sueldo_actual,fill=as.factor(labor))) + 
  geom_boxplot()

Gráfico de dispersión

nota: Útil con variables cuantitativas

ggplot(data = dataej,aes(x=educacion, y=Sueldo_actual))+
  geom_point()

Gráfico Circular (Pie Chart, Sectores, etc)

nota: una variable, pocos sectores, crear tabla resumen nota: no recomiento hacer este gráfico en R,

tabla0 <- dataej %>%
  group_by(labor) %>% 
  summarise(Total=n())
print(tabla0)
## # A tibble: 3 × 2
##   labor Total
##   <dbl> <int>
## 1     1   363
## 2     2    27
## 3     3    84
tabla_circ <- tabla0 %>% 
  arrange(desc(labor)) %>% 
  mutate(prop = Total / sum(tabla0$Total) *100) %>%
  mutate(ypos = cumsum(prop)- 0.5*prop ) # calcula posicion de la etiqueta
print(tabla_circ)
## # A tibble: 3 × 4
##   labor Total  prop  ypos
##   <dbl> <int> <dbl> <dbl>
## 1     3    84 17.7   8.86
## 2     2    27  5.70 20.6 
## 3     1   363 76.6  61.7
ggplot(tabla_circ, aes(x="", y=prop, fill=as.factor(labor))) +
  geom_bar(stat="identity", width=1, color="white") +
  coord_polar("y", start=0) +
  theme_void() + 
  theme(legend.position="none") +
  geom_text(aes(y = ypos, label = labor), color = "white", size=6) +
  scale_fill_brewer(palette="Set1")

Gráfico Telaraña (radar)

nota:

  • complejo para algunos de entender,

  • debe pensar muy bien la información a mostrar

promedio_sueldo_ed<-dataej %>%
  group_by(educacion, labor) %>% 
  summarise(Promedio_sueldo =mean(Sueldo_actual))
## `summarise()` has grouped output by 'educacion'. You can override using the
## `.groups` argument.
 ggplot(dataej, aes(x = as.factor(educacion),
                    y = Sueldo_actual, 
                    col = as.factor(labor), 
                    group = labor)) +
   geom_point() +
   geom_line() +
   coord_polar()

ggplot(data = dataej, aes(x = as.factor(labor))) + 
  geom_bar(fill="lightblue", colour= "black") +  
  coord_polar()

Gráfico Mosaico

nota:

tabla_mosaico <- xtabs(~labor+educacion,data = dataej)
tabla_mosaico
##      educacion
## labor   8  12  14  15  16  17  18  19  20  21
##     1  40 176   6 111  24   3   2   1   0   0
##     2  13  13   0   1   0   0   0   0   0   0
##     3   0   1   0   4  35   8   7  26   2   1
mosaicplot(~labor+Sexo,data = dataej, color=3:5)

dataej$LABOR[dataej$labor==1]<-c("ADMINISTRATIVO")
## Warning: Unknown or uninitialised column: `LABOR`.
dataej$LABOR[dataej$labor==2]<-c("SEGURIDAD")
dataej$LABOR[dataej$labor==3]<-c("EJECUTIVO")

treemap(dataej,
        index = c("LABOR"),
        vSize = "Sueldo_actual",
        type = "index", 
        palette = "Set1",
        fontsize.title = 14)

treemap(dataej,
        index = c("LABOR","Sexo"),
        vSize = "Sueldo_actual",
        vColor = "Sexo",
        type = "categorical", 
        palette = "Set1",
        fontsize.title = 14)

Gráfico de Burbujas

ggplot(dataej, aes(x=educacion,
                   y=experiencia,
                   color=Sexo))+
  geom_point(aes(size = Sueldo_actual))