Dispersion

Representan las observaciones de las variables (generalmente dos, pero también pueden ser tres). El uso principal de un gráfico de dispersión en R es verificar visualmente si existe alguna relación entre ciertas variables numéricas.

Paquete-base

Paquete-car

Paquete-rgl

Grafico de dispersion de 3 variables(3d)

Matriz_Dispersion

Column

Tipo 1

Diagrama de dispersión con múltiples variables con la función pairs. El nombre de la función viene del inglés (pares), ya que estos gráficos también se conocen como “diagramas de dispersión por pares”.

Column

Tipo 2

Una alternativa es utilizar la función scatterplotMatrix del paquete car, que añade estimaciones de densidad tipo kernel en la diagonal.

Column

Tipo 3

Otra alternativa es utilizar la función cpairs del paquete gclus.

           mpg      disp      drat        wt
mpg  1.0000000 0.8475514 0.6811719 0.8676594
disp 0.8475514 1.0000000 0.7102139 0.8879799
drat 0.6811719 0.7102139 1.0000000 0.7124406
wt   0.8676594 0.8879799 0.7124406 1.0000000

Barras

Barras_Verticales

Cuando una variable toma pocos valores, es común resumir la información con una tabla de frecuencias que se puede representar con un gráfico de barras en R. Este tipo de gráficos se suelen utilizar, por ejemplo, para representar precipitaciones y temperaturas.

Barras_Agrupadas

Una gráfica de barras agrupadas es una gráfica de barras en R con dos o más variables. El gráfico mostrará las barras para cada una de las múltiples variables.

Barras_Apiladas

Un gráfico de barras apiladas es como un diagrama de barras agrupado, pero la frecuencia de las variables está apilada.

Histograma

Un histograma en R es el gráfico más habitual para representar datos continuos. Este tipo de gráfico es similar a un diagrama de barras, pero que representa las frecuencias en las que aparecen las mediciones agrupadas en ciertos intervalos y cuenta cuántas observaciones caen en cada intervalo. Además, la altura está determinada por el ratio entre la frecuencia y el ancho del intervalo.

De Frecuencias

De densidad

Boxplot

Los box plots, también conocidos como diagramas de cajas y bigotes, son una representación gráfica que permite resumir las características principales de los datos (posición, dispersión, asimetría, …) e identificar la presencia de valores atípicos

Boxplot de una variable

Boxplot por grupos

---
title: "PRINCIPALES GRAFICOS ESTADISTICOS EN R"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
    theme: spacelab
    social: ["facebook","twitter","linkedin"]
    source: embed
---

```{r setup, include=FALSE}
library(flexdashboard)
library(car)
library(gclus)
library(scatterplot3d)
library(graphics)
```
# Dispersion {data-icon="fa-chart-scatter"}
Representan las observaciones de las variables (generalmente dos, pero también pueden ser tres). El uso principal de un gráfico de dispersión en R es verificar visualmente si existe alguna relación entre ciertas variables numéricas.

## {.tabset}


### Paquete-base
```{r grafico_dispersion}

# Generamos datos de ejemplo
x <- rnorm(500)
y <- x + rnorm(500)
# Diagrama de dispersión
plot(x, y, main = "Gráfico de dispersión")


```



### Paquete-car

```{r}
scatterplot(x, y,
            smooth = FALSE,  # Borra la estimación suavizada
            regLine = FALSE,main="Grafico de dispersion") # Borra la estimación lineal

```


### Paquete-rgl
Grafico de dispersion de *3 variables(3d)*
```{r}

x <- rnorm(1000)
y <- rnorm(1000, mean = 100)
z <- rnorm(1000)
scatterplot3d(x, y, z, pch = 19, color = "blue",main="Grafico de dispersion 3D")
```

# Matriz_Dispersion {data-icon="fa-chart-scatter"}

Column {data-width=333}
-----------------------------------------------------------------------
### Tipo 1

Diagrama de dispersión con múltiples variables con la función pairs. El nombre de la función viene del inglés (pares), ya que estos gráficos también se conocen como “diagramas de dispersión por pares”.
```{r}
pairs(~disp + wt + mpg + hp, data = mtcars)
```

Column {data-width=333}
-----------------------------------------------------------------------
### Tipo 2

Una alternativa es utilizar la función scatterplotMatrix del paquete car, que añade estimaciones de densidad tipo kernel en la diagonal.
```{r}
library(car)

scatterplotMatrix(~ disp + wt + mpg + hp, data = mtcars)
```


Column {data-width=333}
-----------------------------------------------------------------------
### Tipo 3
Otra alternativa es utilizar la función cpairs del paquete gclus.

```{r}
data <- mtcars[c(1, 3, 5, 6)] # Variables numéricas
# cpairs(data) # Alternativa a pairs()

corr <- abs(cor(data)) # Correlación en valor absoluto
corr
colors <- dmat.color(corr)
order <- order.single(corr)

cpairs(data, order, panel.colors = colors, gap = 0.5,
       main = "Variables ordenadas y coloreadas por correlación")
```

# Barras {data-icon="fa-chart-bar"}

## {.tabset}

### Barras_Verticales
Cuando una variable toma pocos valores, es común resumir la información con una tabla de frecuencias que se puede representar con un gráfico de barras en R. Este tipo de gráficos se suelen utilizar, por ejemplo, para representar precipitaciones y temperaturas. 
```{r}
# Cargamos los datos
data(mtcars)
attach(mtcars)

# Tabla de frecuencias
mi_tabla <- table(cyl)

# Una fila, dos columnas
par(mfrow = c(1, 2))

# Gráfico de barras de frecuencia absoluta
barplot(mi_tabla, main = "Frequencia absoluta",
        col = rainbow(3))

# Gráfico de barras de frecuencia relativa
barplot(prop.table(mi_tabla) * 100, main = "Frequencia relativa (%)",
        col = rainbow(3))

par(mfrow = c(1, 1))
```

### Barras_Agrupadas
Una gráfica de barras agrupadas es una gráfica de barras en R con dos o más variables. El gráfico mostrará las barras para cada una de las múltiples variables.
```{r}
data(mtcars)
attach(mtcars)
# Convertimos la variable 'am' en factor
am <- factor(am)

# Cambiamos los niveles del factor
levels(am) <- c("Automatica", "Manual")

# Tabla cilindros - tipo de transmisión
tabla_variables <- table(cyl, am)
# tabla_variables <- xtabs(~cyl + am , data = mtcars) # Equivalente

barplot(tabla_variables,
        main = "Gráfico de barras agrupado",
        xlab = "Tipo de transmisión", ylab = "Frecuencia",
        col = c("darkgrey", "darkblue", "red"),
        legend.text = rownames(tabla_variables),
        beside = TRUE) # Barras agrupadas
```

### Barras_Apiladas
Un gráfico de barras apiladas es como un diagrama de barras agrupado, pero la frecuencia de las variables está apilada.
```{r}

barplot(tabla_variables,
        main = "Gráfico de barras apilado",
        xlab = "Tipo de transmisión", ylab = "Frecuencia",
        col = c("darkgrey", "darkblue", "red"),
        legend.text = rownames(tabla_variables),
        beside = FALSE) # Barras apiladas (opción por defecto)
```

# Histograma {data-icon="fa-chart-area"}
Un histograma en R es el gráfico más habitual para representar datos continuos. Este tipo de gráfico es similar a un diagrama de barras, pero que representa las frecuencias en las que aparecen las mediciones agrupadas en ciertos intervalos y cuenta cuántas observaciones caen en cada intervalo. Además, la altura está determinada por el ratio entre la frecuencia y el ancho del intervalo.

### De Frecuencias
```{r}
distancia <- c(241.1, 284.4, 220.2, 272.4, 271.1, 268.3,
               291.6, 241.6, 286.1, 285.9, 259.6, 299.6,
               253.1, 239.6, 277.8, 263.8, 267.2, 272.6,
               283.4, 234.5, 260.4, 264.2, 295.1, 276.4,
               263.1, 251.4, 264.0, 269.2, 281.0, 283.2)
hist(distancia, main = "Histograma de frecuencias", ylab = "Frecuencia", col = "lightblue")

```

### De densidad
```{r}
hist(distancia, prob = TRUE, main = "Histograma de densidad", # Densidad
     ylab = "Densidad",col="red")
```

# Boxplot {data-icon="fa-diagram-cells"}
Los box plots, también conocidos como diagramas de cajas y bigotes, son una representación gráfica que permite resumir las características principales de los datos (posición, dispersión, asimetría, …) e identificar la presencia de valores atípicos

### Boxplot de una variable
```{r}
h <- c(8, 5, 14, -9, 19, 12, 3, 9, 7, 4, 4, 6, 8, 12, -8, 2, 0, -1, 5, 3)

boxplot(h, horizontal = TRUE)

```

### Boxplot por grupos
```{r}
stacked_df <- stack(trees)
# Equivalente a:
boxplot(stacked_df$values ~ stacked_df$ind,
        col = rainbow(ncol(trees)))

```