Objetivo

Generar gráficas con librería ggplot y plotly

Desarrollo

Las librerías

library(ggplot2)
library(plotly)
library(fdth)

Los datos

personas <- read.csv("https://raw.githubusercontent.com/rpizarrog/CIIT.-Diplomado-en-Ciencia-de-los-Datos-e-IoT/main/M%C3%B3dulo%20I/datos/datos.personas.csv", encoding = "1859-1", stringsAsFactors =TRUE)

head(personas)
##   X edad    genero          estado    feliz
## 1 1   21  FEMENINO BAJA CALIFORNIA NO FELIZ
## 2 2   18  FEMENINO      NUEVO LEÓN NO FELIZ
## 3 3   30  FEMENINO      TAMAULIPAS    FELIZ
## 4 4   23  FEMENINO      NUEVO LEÓN NO FELIZ
## 5 5   47 MASCULINO      TAMAULIPAS    FELIZ
## 6 6   38  FEMENINO         DURANGO NO FELIZ
str(personas)
## 'data.frame':    10000 obs. of  5 variables:
##  $ X     : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ edad  : int  21 18 30 23 47 38 63 56 30 54 ...
##  $ genero: Factor w/ 2 levels "FEMENINO","MASCULINO": 1 1 1 1 2 1 1 2 1 2 ...
##  $ estado: Factor w/ 8 levels "BAJA CALIFORNIA",..: 1 6 8 6 8 5 2 1 4 3 ...
##  $ feliz : Factor w/ 2 levels "FELIZ","NO FELIZ": 2 2 1 2 1 2 1 1 2 1 ...
summary(personas)
##        X              edad            genero                 estado    
##  Min.   :    1   Min.   :18.0   FEMENINO :5215   DURANGO        :1278  
##  1st Qu.: 2501   1st Qu.:30.0   MASCULINO:4785   NUEVO LEÓN     :1276  
##  Median : 5000   Median :41.0                    CHIHUAHUA      :1271  
##  Mean   : 5000   Mean   :41.5                    COAHUILA       :1267  
##  3rd Qu.: 7500   3rd Qu.:53.0                    BAJA CALIFORNIA:1257  
##  Max.   :10000   Max.   :65.0                    TAMAULIPAS     :1251  
##                                                  (Other)        :2400  
##       feliz     
##  FELIZ   :4950  
##  NO FELIZ:5050  
##                 
##                 
##                 
##                 
## 

Gráfica de barra con ggplot

Preparando una tabla de distribución

Variable estado

tabla <- data.frame(fdt_cat(personas$estado))
tabla
##              Category    f     rf rf...    cf  cf...
## 1             DURANGO 1278 0.1278 12.78  1278  12.78
## 2          NUEVO LEÓN 1276 0.1276 12.76  2554  25.54
## 3           CHIHUAHUA 1271 0.1271 12.71  3825  38.25
## 4            COAHUILA 1267 0.1267 12.67  5092  50.92
## 5     BAJA CALIFORNIA 1257 0.1257 12.57  6349  63.49
## 6          TAMAULIPAS 1251 0.1251 12.51  7600  76.00
## 7 BAJA CALIFORNIA SUR 1205 0.1205 12.05  8805  88.05
## 8              SONORA 1195 0.1195 11.95 10000 100.00

Gráfica normal

barplot(height = tabla$f, names.arg = tabla$Category)

Gráfica con ggplot

De donde obtener los dato o data

ggplot(data = tabla)

Construye los ejes x & y con aes()

ggplot(data = tabla, aes(x = Category, y = f))

Agregar el elemento geométrico

ggplot(data = tabla, aes(x = Category, y = f)) +
  geom_bar(stat = 'identity')

Agregar por partes en una variable

g <- ggplot(data = tabla)
g <- g + aes(x = Category, y = f)
g <- g + geom_bar(stat = 'identity')
g

Gráfica con plotly

plot_ly(personas, x = ~estado)

Varias lineas por genero

# Pendiente ....