Hola Mundo con R Markdown

R
Autor

Pedro L. Luque

Fecha de Publicación

16 agosto 2017

R Markdown

Esto es un documento R Markdown (extensión del fichero Rmd). Markdown es una sintaxis de formateo de texto muy sencilla para crear documentos HTML, PDF, y MS Word. Para más detalles sobre el uso de R Markdown ver http://rmarkdown.rstudio.com.

Puede incluir código R como el siguiente:

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00
fit <- lm(dist ~ speed, data = cars)
fit
## 
## Call:
## lm(formula = dist ~ speed, data = cars)
## 
## Coefficients:
## (Intercept)        speed  
##     -17.579        3.932

Incluir Gráficos

Puede incluir gráficos creados con R. Por ejemplo, vea el diagrama de sectores de la figura @ref(fig:pie):

par(mar = c(0, 1, 0, 1))
pie(
  c(280, 60, 20),
  c('Cielo', 'Lado soleado de la pirámide', 'Lado sombreado de la pirámide'),
  col = c('#0292D8', '#F7EA39', '#C4B632'),
  init.angle = -50, border = NA
)

Un bonito diagrama de sectores.

Incluir un gráfico ggplot2

#r fig.width=7, fig.height=4, echo=FALSE}
library(ggplot2)
ggplot(mpg, aes(x = displ, y = hwy)) + 
  geom_point()
## Warning: package 'ggplot2' was built under R version 4.1.2

Incluir una tabla DT

La solución está en la página web stackoverflow y con leaflet.

Lo siguiente en “Quarto” sí funciona

library(DT)
## Warning: package 'DT' was built under R version 4.1.2
DT::datatable(mtcars)

El siguiente código hace que sí funcione (en blogdown) pero hay que hacerlo en 2 pasos (en un único paso tiene efectos colaterales. Buscando solución final en un único paso):

#{r, message=FALSE, warning=FALSE, include=FALSE}
library(DT)
library(tidyverse)

d1 <- iris %>% 
  datatable(width = 600,height = 500)

d1
#

#{r, message=FALSE, warning=FALSE, include=FALSE,eval=TRUE/FALSE}
# con eval=TRUE, se evalúa 
# y se copia el fichero "d1.html" al directorio "static/DT/d1.html"
# luego se deja, eval=FALSE
library(htmlwidgets)
library(htmltools)

htmlwidgets::saveWidget(d1, file = "d1.html", selfcontained = TRUE)

#

<iframe seamless src="../DT/d1.html" width="100%" height="600"></iframe>