R Markdown

Llenar esta información con el curso de tidyverse de Udemy

Combinando HTML y R

Los metadatos

Estan en la cabezera del fichero, entre “—” e indican el tipo de fichero y la estructura del mismo.

Podemos configurar en el output la estructura del fichero, por ejemplo para HTML:

  • html_document:

      * theme: cosmo
    
      * toc: yes

Con estos parametros hemos modificado la estetica del documento

Estructura del documento

Ejemplo de creacion de fragmento de codigo:

{r setup, include = TRUE} El parametro r setup nos permite poner a a cabecera el primer codigo que se debe ejecutar

Titulos de chunks

Poner titulos a los chunks es muy buena practica para tenero todo organizao

``{r Titulo del chunk}

``

Delimitaciones

Podemos usar * * * para indicar delimitaciones:


Hipervincuos

Para crear hipervinculos, recordad que se deben introducir la pagina web entre < >. Ejemplo: http://rpubs.com/JoanClaverol

RMarkdown usa cualquier tecnica usada en HTML, es decir que se puede usar la misma sintaxis que la del dissenyo de webs.

Comentarios dentro de un documento

Para insertar un documento que no se ejecute cuando hagmos un knit lo introduciremos entre <!-- --> . Ejemplo de un comentario:

<!-- Esto es un comentario -->

HTML contents

<p> Esto es un nuevo párrafo escrito con etiquetas de HTML </p>

Se pueden crear tablas en HTML:

Ventajas Inconvenientes
Ejemplo de table definition Otro ejemplo de table definicion>
Siguiente linea de info Más información

Código en HTML para la creación de tablas:

<table border=1>

<th> Ventajas </th>

<th> Inconvenientes </th>

<tr>

<td> Ejemplo de table definition </td>

<td> Otro ejemplo de table definicion> </td>

</tr>

<tr>

<td> Siguiente linea de info </td>

<td> Más información </td>

</tr>

</table>

Parametros de configguración global del chunk que se pueden modificar

  • echo: nos indica si este es FALSE que el chunks no se mostrara en el documento pero se ejecutará

  • También se puede definir una caché globarl para no sobrecargar la generación de ficheros.

  • se puede definir el directorio raíz de donde cargar cualquier fichero de datos haciendo uso del parámetros root.dir. "../CarpetaEnCuestion/Archivo.TipoArchivo"

Plots y configuracion en Markdown

auto <- read.csv("../DataSets/auto-mpg.csv")
head(auto)
str(auto)
## 'data.frame':    398 obs. of  9 variables:
##  $ No          : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ mpg         : num  28 19 36 28 21 23 15.5 32.9 16 13 ...
##  $ cylinders   : int  4 3 4 4 6 4 8 4 6 8 ...
##  $ displacement: num  140 70 107 97 199 115 304 119 250 318 ...
##  $ horsepower  : int  90 97 75 92 90 95 120 100 105 150 ...
##  $ weight      : int  2264 2330 2205 2288 2648 2694 3962 2615 3897 3755 ...
##  $ acceleration: num  15.5 13.5 14.5 17 15 15 13.9 14.8 18.5 14 ...
##  $ model_year  : int  71 72 82 72 70 75 76 81 75 76 ...
##  $ car_name    : Factor w/ 305 levels "amc ambassador brougham",..: 66 184 165 86 8 18 11 79 42 112 ...
summary(auto)
##        No             mpg          cylinders      displacement  
##  Min.   :  1.0   Min.   : 9.00   Min.   :3.000   Min.   : 68.0  
##  1st Qu.:100.2   1st Qu.:17.50   1st Qu.:4.000   1st Qu.:104.2  
##  Median :199.5   Median :23.00   Median :4.000   Median :148.5  
##  Mean   :199.5   Mean   :23.51   Mean   :5.455   Mean   :193.4  
##  3rd Qu.:298.8   3rd Qu.:29.00   3rd Qu.:8.000   3rd Qu.:262.0  
##  Max.   :398.0   Max.   :46.60   Max.   :8.000   Max.   :455.0  
##                                                                 
##    horsepower        weight      acceleration     model_year   
##  Min.   : 46.0   Min.   :1613   Min.   : 8.00   Min.   :70.00  
##  1st Qu.: 76.0   1st Qu.:2224   1st Qu.:13.82   1st Qu.:73.00  
##  Median : 92.0   Median :2804   Median :15.50   Median :76.00  
##  Mean   :104.1   Mean   :2970   Mean   :15.57   Mean   :76.01  
##  3rd Qu.:125.0   3rd Qu.:3608   3rd Qu.:17.18   3rd Qu.:79.00  
##  Max.   :230.0   Max.   :5140   Max.   :24.80   Max.   :82.00  
##                                                                
##            car_name  
##  ford pinto    :  6  
##  amc matador   :  5  
##  ford maverick :  5  
##  toyota corolla:  5  
##  amc gremlin   :  4  
##  amc hornet    :  4  
##  (Other)       :369

Primeros plots con el grafico:

plot(auto$mpg~auto$weight)

Pademos usar los parámetros de fig.height y fig.width para ajustar el tamaño del grafico en la pantalla.

Inline R

Uso de sistemas para crear documentos dinámicos instertnado pequeños fragmentos de código con un acento abierto y “r” y luego otro acento abierto. Por ejemplo, numero de coches en dataset auto 398.

Tablas con HTML y Kable

Las tablas és lo peor que queda en las presentaciones. Para esto existen dos librerias para formatear las tablas y así que queden mejor. Las dos librarias son:

library(htmlTable)
library(knitr)

# Esta es para configurar opciones de tabas hechas con kable de knitr
library(kableExtra)

htmlTable

htmlTable(head(auto),
          caption = "Titulo que queramos  añadir",
          tfoot = "&dagger; Esto es un pie de gráfico",
          col.rgroup = c("none","#F7F7F7"), # agrupamos para dar color a las filas impares y pares
          col.columns = c(rep("none",2),rep("#F55555",6),"#5555F5"), # las primeras dos columnas no ponngas color, las 7 veces restantes pon el color que  corresponda
          rnames = head(auto[,9]) # poner el los valores de una  columna como los valores de una fila
          )
Titulo que queramos añadir
No mpg cylinders displacement horsepower weight acceleration model_year car_name
chevrolet vega 2300 1 28 4 140 90 2264 15.5 71 chevrolet vega 2300
mazda rx2 coupe 2 19 3 70 97 2330 13.5 72 mazda rx2 coupe
honda accord 3 36 4 107 75 2205 14.5 82 honda accord
datsun 510 (sw) 4 28 4 97 92 2288 17 72 datsun 510 (sw)
amc gremlin 5 21 6 199 90 2648 15 70 amc gremlin
audi 100ls 6 23 4 115 95 2694 15 75 audi 100ls
† Esto es un pie de gráfico

Muy interassente si se quiere dedicar un momenteo a combinarlo con CSS.

kable

kable(head(auto), 
      format = "html"# formato de salida
      ) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), # dar estilo a la tabla creada. COndensed nos permite reducir el tamaño
                full_width = F, position = "float_left"# alinear la información a la izquierda "flotante" permitiendo que se pueda poner texto a la izquierda
                ) %>%
  column_spec(1, bold = T, border_right = T) %>% # el borde derecho le damos negrita, asi podemos personalizar las columnas.
  column_spec(9, width = "20mm", background = "gray") %>% # otro ejemplo de personalización de columna
  row_spec(3:5, bold = T, color = "white", background = "red") %>% # ayudar a la visualización de unas filas
  row_spec(0, angle = -45) # mostrar los nombres de las clolumnas con unc angulo distinto
No mpg cylinders displacement horsepower weight acceleration model_year car_name
1 28 4 140 90 2264 15.5 71 chevrolet vega 2300
2 19 3 70 97 2330 13.5 72 mazda rx2 coupe
3 36 4 107 75 2205 14.5 82 honda accord
4 28 4 97 92 2288 17.0 72 datsun 510 (sw)
5 21 6 199 90 2648 15.0 70 amc gremlin
6 23 4 115 95 2694 15.0 75 audi 100ls

Ejemplo de un texto para ver el caso flotante de la tabla lateral. UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio UN texto aleatorio.