RMarkdown

Chunk

Para crear un Chunk nuevo CTRL+ALT+i

Para trabajar con un parametro en particular puedo poner en la parte inicial (bajo el ouput)

params: genero: male en este caso trabajo solo con hombres de la BBDD, se pueden poner varios parametros

Calculos

Para crear un calculo fuera de un Chunk (ALT GR + comillas)

12

Para poner un grafico al lado de otro se usa par(mfrow = c(1,2))

HTML

Creando listas

  • Elemento 1
  • Elemento 2
    • Sub-elemento 1
    • Sub elemento 2
  • Elemento 3
  1. Elemento 1
  2. Elemento 2
    1. Sub-elemento 1
    2. Sub elemento 2
  3. Elemento 3

Podemos modificar el tamaño de nuestro párrafo completo y también puedo cambiar el color de algunas secciones del párrafo

También se modificar el color de todo un párrafo

Personalización con css

Colores: aquí

Para editar el header de prettydoc cayman: aquí


<style>
p {
    font-size: 16px;
}
body {
  color: #000000;
}
.header-panel {
  background-color: #0B0489;
}

.pages h1,
.pages h2,
.pages h3{
  color: #2A1456;
}
.ColorCode {
background-color: lightblue; 
}

# Hack-life que olvidé mencionar que puede ser de utilidad para cambiar el color de un chunk
# Establecer una clase llamada ColorCode (o el nombre que se les ocurra) y con las configuraciones del chunk, `r  class.source="ColorCode"`, agregar la clase creada

</style>

Tablas

library(dplyr)
library(kableExtra)

dt <- head(iris)

dt %>% kbl() # Tabla básica.
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
dt %>%
  kbl() %>%
  kable_material()
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
dt %>%
  kbl(caption = "Tabla 3") %>%
  kable_material_dark(lightable_options = "striped")
Tabla 3
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
dt %>%
  kbl(caption = "Tabla 4") %>%
  kable_classic(lightable_options = "hover")
Tabla 4
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
dt %>%
  kbl(caption = "Tabla 5") %>%
  kable_classic_2(lightable_options = "striped", full_width = FALSE)
Tabla 5
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
dt %>%
  kbl(caption = "Tabla 6") %>%
  kable_classic_2(
    lightable_options = "striped", full_width = FALSE,
    position = "right"
  )
Tabla 6
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
dt %>%
  kbl(caption = "Tabla 7") %>%
  kable_classic_2(
    lightable_options = "striped", full_width = FALSE,
    position = "float_right"
  )
Tabla 7
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa

Hola, hola, probando la libreria kableExtra etc f sgas sa ga dg

dt <- iris
dt %>%
  kbl(caption = "Tabla 8") %>%
  kable_classic_2(lightable_options = "hover", font_size = 10) %>%
  column_spec(3,
    color = "white",
    background = spec_color(dt$Petal.Length)
  )
Tabla 8
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
4.6 3.4 1.4 0.3 setosa
5.0 3.4 1.5 0.2 setosa
4.4 2.9 1.4 0.2 setosa
4.9 3.1 1.5 0.1 setosa
5.4 3.7 1.5 0.2 setosa
4.8 3.4 1.6 0.2 setosa
4.8 3.0 1.4 0.1 setosa
4.3 3.0 1.1 0.1 setosa
5.8 4.0 1.2 0.2 setosa
5.7 4.4 1.5 0.4 setosa
5.4 3.9 1.3 0.4 setosa
5.1 3.5 1.4 0.3 setosa
5.7 3.8 1.7 0.3 setosa
5.1 3.8 1.5 0.3 setosa
5.4 3.4 1.7 0.2 setosa
5.1 3.7 1.5 0.4 setosa
4.6 3.6 1.0 0.2 setosa
5.1 3.3 1.7 0.5 setosa
4.8 3.4 1.9 0.2 setosa
5.0 3.0 1.6 0.2 setosa
5.0 3.4 1.6 0.4 setosa
5.2 3.5 1.5 0.2 setosa
5.2 3.4 1.4 0.2 setosa
4.7 3.2 1.6 0.2 setosa
4.8 3.1 1.6 0.2 setosa
5.4 3.4 1.5 0.4 setosa
5.2 4.1 1.5 0.1 setosa
5.5 4.2 1.4 0.2 setosa
4.9 3.1 1.5 0.2 setosa
5.0 3.2 1.2 0.2 setosa
5.5 3.5 1.3 0.2 setosa
4.9 3.6 1.4 0.1 setosa
4.4 3.0 1.3 0.2 setosa
5.1 3.4 1.5 0.2 setosa
5.0 3.5 1.3 0.3 setosa
4.5 2.3 1.3 0.3 setosa
4.4 3.2 1.3 0.2 setosa
5.0 3.5 1.6 0.6 setosa
5.1 3.8 1.9 0.4 setosa
4.8 3.0 1.4 0.3 setosa
5.1 3.8 1.6 0.2 setosa
4.6 3.2 1.4 0.2 setosa
5.3 3.7 1.5 0.2 setosa
5.0 3.3 1.4 0.2 setosa
7.0 3.2 4.7 1.4 versicolor
6.4 3.2 4.5 1.5 versicolor
6.9 3.1 4.9 1.5 versicolor
5.5 2.3 4.0 1.3 versicolor
6.5 2.8 4.6 1.5 versicolor
5.7 2.8 4.5 1.3 versicolor
6.3 3.3 4.7 1.6 versicolor
4.9 2.4 3.3 1.0 versicolor
6.6 2.9 4.6 1.3 versicolor
5.2 2.7 3.9 1.4 versicolor
5.0 2.0 3.5 1.0 versicolor
5.9 3.0 4.2 1.5 versicolor
6.0 2.2 4.0 1.0 versicolor
6.1 2.9 4.7 1.4 versicolor
5.6 2.9 3.6 1.3 versicolor
6.7 3.1 4.4 1.4 versicolor
5.6 3.0 4.5 1.5 versicolor
5.8 2.7 4.1 1.0 versicolor
6.2 2.2 4.5 1.5 versicolor
5.6 2.5 3.9 1.1 versicolor
5.9 3.2 4.8 1.8 versicolor
6.1 2.8 4.0 1.3 versicolor
6.3 2.5 4.9 1.5 versicolor
6.1 2.8 4.7 1.2 versicolor
6.4 2.9 4.3 1.3 versicolor
6.6 3.0 4.4 1.4 versicolor
6.8 2.8 4.8 1.4 versicolor
6.7 3.0 5.0 1.7 versicolor
6.0 2.9 4.5 1.5 versicolor
5.7 2.6 3.5 1.0 versicolor
5.5 2.4 3.8 1.1 versicolor
5.5 2.4 3.7 1.0 versicolor
5.8 2.7 3.9 1.2 versicolor
6.0 2.7 5.1 1.6 versicolor
5.4 3.0 4.5 1.5 versicolor
6.0 3.4 4.5 1.6 versicolor
6.7 3.1 4.7 1.5 versicolor
6.3 2.3 4.4 1.3 versicolor
5.6 3.0 4.1 1.3 versicolor
5.5 2.5 4.0 1.3 versicolor
5.5 2.6 4.4 1.2 versicolor
6.1 3.0 4.6 1.4 versicolor
5.8 2.6 4.0 1.2 versicolor
5.0 2.3 3.3 1.0 versicolor
5.6 2.7 4.2 1.3 versicolor
5.7 3.0 4.2 1.2 versicolor
5.7 2.9 4.2 1.3 versicolor
6.2 2.9 4.3 1.3 versicolor
5.1 2.5 3.0 1.1 versicolor
5.7 2.8 4.1 1.3 versicolor
6.3 3.3 6.0 2.5 virginica
5.8 2.7 5.1 1.9 virginica
7.1 3.0 5.9 2.1 virginica
6.3 2.9 5.6 1.8 virginica
6.5 3.0 5.8 2.2 virginica
7.6 3.0 6.6 2.1 virginica
4.9 2.5 4.5 1.7 virginica
7.3 2.9 6.3 1.8 virginica
6.7 2.5 5.8 1.8 virginica
7.2 3.6 6.1 2.5 virginica
6.5 3.2 5.1 2.0 virginica
6.4 2.7 5.3 1.9 virginica
6.8 3.0 5.5 2.1 virginica
5.7 2.5 5.0 2.0 virginica
5.8 2.8 5.1 2.4 virginica
6.4 3.2 5.3 2.3 virginica
6.5 3.0 5.5 1.8 virginica
7.7 3.8 6.7 2.2 virginica
7.7 2.6 6.9 2.3 virginica
6.0 2.2 5.0 1.5 virginica
6.9 3.2 5.7 2.3 virginica
5.6 2.8 4.9 2.0 virginica
7.7 2.8 6.7 2.0 virginica
6.3 2.7 4.9 1.8 virginica
6.7 3.3 5.7 2.1 virginica
7.2 3.2 6.0 1.8 virginica
6.2 2.8 4.8 1.8 virginica
6.1 3.0 4.9 1.8 virginica
6.4 2.8 5.6 2.1 virginica
7.2 3.0 5.8 1.6 virginica
7.4 2.8 6.1 1.9 virginica
7.9 3.8 6.4 2.0 virginica
6.4 2.8 5.6 2.2 virginica
6.3 2.8 5.1 1.5 virginica
6.1 2.6 5.6 1.4 virginica
7.7 3.0 6.1 2.3 virginica
6.3 3.4 5.6 2.4 virginica
6.4 3.1 5.5 1.8 virginica
6.0 3.0 4.8 1.8 virginica
6.9 3.1 5.4 2.1 virginica
6.7 3.1 5.6 2.4 virginica
6.9 3.1 5.1 2.3 virginica
5.8 2.7 5.1 1.9 virginica
6.8 3.2 5.9 2.3 virginica
6.7 3.3 5.7 2.5 virginica
6.7 3.0 5.2 2.3 virginica
6.3 2.5 5.0 1.9 virginica
6.5 3.0 5.2 2.0 virginica
6.2 3.4 5.4 2.3 virginica
5.9 3.0 5.1 1.8 virginica

Graficos

Para realizar graficos rápidos en ggplot2 voy a Addins -> ggplot2 builder

Librerias

ggplot2 = graficos

janitor::clean_names(datos) = limpia los nombre de columnas, los pone en minuscula y sin espacios

kableExtra para hacer tablas

Tips

Para ordenar el codigo de R Addins -> Style active file

ALT + (-) para hacer el <-

CTRL + SHIFT + R para el titulo desplegable

CTRL + SHIFT + M para la pipa %>%

CTRL + SHIFT + C para transformar tolo lo seleccionado a texto

CTRL + ALT + i Para crear un Chunk nuevo

CTRL + Z para volver atras

Series de Tiempo

library(tidyverse)
library(dplyr)
AirCanada <- readxl::read_excel("AirCanada.xlsx") %>% 
  janitor::clean_names()

comando ts() para transformarlos datos a un formato serie de tiempo

Pasajeros = ts(AirCanada$total_pasajeros_periodo, 
               start = c(2006,1), #parte en enero del 2006, especifico año y mes
               frequency = 12)

plot.ts(Pasajeros) #para graficar la serie de tiempo

Utilizando la función zoo::as.yearmon() transforme la variable de tiempo a formato fecha o similar. Realice un gráfico Y vs t para visualizar la serie. Aca solo se hace un grafico de mejor calidad con ggplot

AirCanada$periodo = AirCanada$periodo %>% 
  as.character() %>% 
  zoo::as.yearmon("%Y%m")

ggplot(AirCanada, aes(x = periodo, y = total_pasajeros_periodo)) +
  geom_point() + geom_line()

El comando decompose() sirve para mostrar lo observado, tendencia y estacionalidad

Descomp = decompose(Pasajeros)
plot(Descomp)

La funcion diff() sirve para diferenciar la serie, muestra si es o no estacionario

plot.ts(diff(Pasajeros))

En este caso, No es estacionario, varianza no es constante -> Se sugiere realizar una transformación.

la transformacion generalmete se hace con logaritmo de la variable

plot.ts(diff(log(Pasajeros)))

El método de Holt-Winters, sirve para ajustar la serie y realizar predicciones

hw.fit = HoltWinters(Pasajeros)
hw.pred = predict(hw.fit, n.ahead = 24, prediction.interval = T)
plot(hw.fit, hw.pred)

Predicción para los 24 meses futuros (es decir, Julio 2018 a Junio 2020). en color rojo muestra el modelo ajustado, en azul las proyecciones y en negro los datos reales

Para visualizar los datos de la predicion ejecuto

hw.pred
##               fit      upr      lwr
## Jan 2019 64357.23 69030.42 59684.04
## Feb 2019 64689.93 69498.17 59881.68
## Mar 2019 48980.25 53928.20 44032.31
## Apr 2019 49679.53 54771.68 44587.38
## May 2019 38707.70 43948.44 33466.96
## Jun 2019 39687.08 45080.66 34293.49
## Jul 2019 40626.61 46177.18 35076.04
## Aug 2019 40083.71 45795.29 34372.14
## Sep 2019 42542.66 48419.15 36666.17
## Oct 2019 43717.36 49762.57 37672.16
## Nov 2019 49755.68 55973.30 43538.06
## Dec 2019 56873.51 63267.15 50479.88
## Jan 2020 68256.64 75551.70 60961.59
## Feb 2020 68589.34 76049.65 61129.03
## Mar 2020 52879.66 60509.07 45250.26
## Apr 2020 53578.94 61381.19 45776.69
## May 2020 42607.12 50585.89 34628.34
## Jun 2020 43586.49 51745.37 35427.61
## Jul 2020 44526.02 52868.52 36183.52
## Aug 2020 43983.13 52512.68 35453.57
## Sep 2020 46442.07 55162.04 37722.11
## Oct 2020 47616.78 56530.45 38703.11
## Nov 2020 53655.10 62765.69 44544.50
## Dec 2020 60772.93 70083.60 51462.26