Author: Rosana Ferrero

Shiny: crear una aplicación web interactiva (apps) desde R.

Shiny: resultados interactivos o programación reactiva.

¿Qué es Shiny?

Shiny es una herramienta para crear fácilmente aplicaciones web interactivas (apps) que permiten a los usuarios interactuar con sus datos sin tener que manipular el código.
La programación Reactiva enfatiza el uso de:

  • Valores que cambian en el tiempo
  • Expresiones que registran esos cambios
  • Ver el ejemplo que hemos publicado en este mismo blog.

¿Necesito ser un programador web para su uso?

No hace falta conocimiento de HTML o JavaScript, solo conocer R.

¿Para qué sirve?

La programación Reactiva enfatiza el uso de: 
  • Valores que cambian en el tiempo
  • Expresiones que registran esos cambios

Hagamos un ejemplo

Lo primero que se necesita es instalar el paquete:

install.packages("shiny")

Para obtener un ejemplo sencillo de Shiny podemos “correr” el ejemplo “Hola Shiny” que realiza unhistograma y permite a los usuarios cambiar el número de intervalos en el gráfico.

library(shiny)
runExample("01_hello")

La aplicación tiene 2 componentes:

  1. una secuencia de comandos de interfaz de usuario (UI, archivo ui.R), que controla el diseño y aspecto de la aplicación.
  2. una secuencia de comandos del servidor (server.R), que contiene las instrucciones que su equipo necesita para construir su aplicación.

En este ejemplo:

ui.R

library(shiny)

# Define UI for application that draws a histogram
shinyUI(fluidPage(

# Application title
titlePanel("Hello Shiny!"),

# Sidebar with a slider input for the number of bins
sidebarLayout(
sidebarPanel(
sliderInput("bins",
"Number of bins:",
min = 1,
max = 50,
value = 30)
),

# Show a plot of the generated distribution
mainPanel(
plotOutput("distPlot")
)
)
))

server.R

library(shiny)

# Define server logic required to draw a histogram
shinyServer(function(input, output) {

# Expression that generates a histogram. The expression is
# wrapped in a call to renderPlot to indicate that:
#
# 1) It is "reactive" and therefore should re-execute automatically
# when inputs change
# 2) Its output type is a plot

output$distPlot <- renderPlot({
x <- faithful[, 2] # Old Faithful Geyser data
bins <- seq(min(x), max(x), length.out = input$bins + 1)

# draw the histogram with the specified number of bins
hist(x, breaks = bins, col = 'darkgray', border = 'white')
})
})

Ejecutar la aplicación

library(shiny)
runApp("my_app")

Para ejecutar la aplicación, se utiliza la función runApp con el nombre del directorio donde se encuentran los archivos anteriores.

También se puede correr la aplicación desde cualquiera de los dos archivos en el editor de texto RStudio, mediante el botón que se marca debajo (RStudio reconoce automáticamente que se trata de un código de una aplicación):

Para crear su propia aplicación Shiny:

  • Crear un directorio para la aplicación. 
  • Guardar los archivos server.R y ui.R dentro de ese directorio. 
  • Iniciar la aplicación con los métodos indicados en Rstudio. 
  • Salir de la aplicación haciendo clic en escape.
Una forma sencilla para comenzar a diseñar la aplicación, es partir de uno de los ejemplos propuestos en RStudio.

system.file("examples", package="shiny")

runExample("01_hello") # a histogram
runExample("02_text") # tables and data frames
runExample("03_reactivity") # a reactive expression
runExample("04_mpg") # global variables
runExample("05_sliders") # slider bars
runExample("06_tabsets") # tabbed panels
runExample("07_widgets") # help text and submit buttons
runExample("08_html") # shiny app built from HTML
runExample("09_upload") # file upload wizard
runExample("10_download") # file download wizard
runExample("11_timer") # an automated timer

Shiny: crear una aplicación web interactiva (apps) desde R.

Shiny: resultados interactivos o programación reactiva.

¿Qué es Shiny?

Shiny es una herramienta para crear fácilmente aplicaciones web interactivas (apps) que permiten a los usuarios interactuar con sus datos sin tener que manipular el código.
La programación Reactiva enfatiza el uso de:

  • Valores que cambian en el tiempo
  • Expresiones que registran esos cambios
  • Ver el ejemplo que hemos publicado en este mismo blog.

¿Necesito ser un programador web para su uso?

No hace falta conocimiento de HTML o JavaScript, solo conocer R.

¿Para qué sirve?

La programación Reactiva enfatiza el uso de: 
  • Valores que cambian en el tiempo
  • Expresiones que registran esos cambios

Hagamos un ejemplo

Lo primero que se necesita es instalar el paquete:

install.packages("shiny")

Para obtener un ejemplo sencillo de Shiny podemos “correr” el ejemplo “Hola Shiny” que realiza unhistograma y permite a los usuarios cambiar el número de intervalos en el gráfico.

library(shiny)
runExample("01_hello")

La aplicación tiene 2 componentes:

  1. una secuencia de comandos de interfaz de usuario (UI, archivo ui.R), que controla el diseño y aspecto de la aplicación.
  2. una secuencia de comandos del servidor (server.R), que contiene las instrucciones que su equipo necesita para construir su aplicación.

En este ejemplo:

ui.R

library(shiny)

# Define UI for application that draws a histogram
shinyUI(fluidPage(

# Application title
titlePanel("Hello Shiny!"),

# Sidebar with a slider input for the number of bins
sidebarLayout(
sidebarPanel(
sliderInput("bins",
"Number of bins:",
min = 1,
max = 50,
value = 30)
),

# Show a plot of the generated distribution
mainPanel(
plotOutput("distPlot")
)
)
))

server.R

library(shiny)

# Define server logic required to draw a histogram
shinyServer(function(input, output) {

# Expression that generates a histogram. The expression is
# wrapped in a call to renderPlot to indicate that:
#
# 1) It is "reactive" and therefore should re-execute automatically
# when inputs change
# 2) Its output type is a plot

output$distPlot <- renderPlot({
x <- faithful[, 2] # Old Faithful Geyser data
bins <- seq(min(x), max(x), length.out = input$bins + 1)

# draw the histogram with the specified number of bins
hist(x, breaks = bins, col = 'darkgray', border = 'white')
})
})

Ejecutar la aplicación

library(shiny)
runApp("my_app")

Para ejecutar la aplicación, se utiliza la función runApp con el nombre del directorio donde se encuentran los archivos anteriores.

También se puede correr la aplicación desde cualquiera de los dos archivos en el editor de texto RStudio, mediante el botón que se marca debajo (RStudio reconoce automáticamente que se trata de un código de una aplicación):

Para crear su propia aplicación Shiny:

  • Crear un directorio para la aplicación. 
  • Guardar los archivos server.R y ui.R dentro de ese directorio. 
  • Iniciar la aplicación con los métodos indicados en Rstudio. 
  • Salir de la aplicación haciendo clic en escape.
Una forma sencilla para comenzar a diseñar la aplicación, es partir de uno de los ejemplos propuestos en RStudio.

system.file("examples", package="shiny")

runExample("01_hello") # a histogram
runExample("02_text") # tables and data frames
runExample("03_reactivity") # a reactive expression
runExample("04_mpg") # global variables
runExample("05_sliders") # slider bars
runExample("06_tabsets") # tabbed panels
runExample("07_widgets") # help text and submit buttons
runExample("08_html") # shiny app built from HTML
runExample("09_upload") # file upload wizard
runExample("10_download") # file download wizard
runExample("11_timer") # an automated timer

Informes dinámicos, elegantes, rápidos y flexibles con R: knitr (Rmd, Rnw, Lyx-LATEX)

El paquete knitr: una forma de tejer nuestros informes.

El paquete knitr nos permite generar informes html y pdf mediante módulos (o “chuncks”), y así “tejer” (de ahí el icono de knitr) un documento en pequeñas funciones manejables. En particular, nos permite:

  1. obtener un informe rápido y flexible, 
  2. generar un archivo html (Rmd) o pdf (Rwn), 
  3. integrar herramientas como LATEX (el programa amigable de LATEX que recomiendo -y uso- es LyX).
En el siguiente video se muestra cómo instalar el paquete (simplemente, install.packages(“knitr”)) y adaptar RStudio para trabajar con él (options->cambiar de Sweave a knitr). Se detallan cómo formar los módulos para trabajar con Rmd y/o con Rnw.

En la página web de knitr podrán obtener archivos de ejemplos para descargar y aprender a usar knitr.

Generar informes pdf con código LATEX

Por ejemplo, para Rnw basta con darle las siguientes órdenes básicas:

Primero file->new->Rnw. Verás que el archivo ya comienza con la información básica que necesitas.

\documentclass{article}
\usepackage[T1]{fontenc}
 
\begin{document}
 
Here is a code chunk.
 
<<foo, fig.height=4>>=
1+1
letters
chartr('xie', 'XIE', c('xie yihui', 'Yihui Xie'))
par(mar=c(4, 4, .2, .2)); plot(rnorm(100))
@
 
You can also write inline expressions, e.g. $\pi=\Sexpr{pi}$, and \Sexpr{1.598673e8} is a big number.
 
\end{document}

Aquí está el resultado en pdf.

Generar informes html con código LATEX

Por ejemplo, para Rmd basta con darle las siguientes órdenes básicas:

Primero file->new->Rmd. Nuevamente, el archivo comienza con el código básico que necesitamos para construir el documento.

# A minimal R Markdown example
 
A quote:
 
> Markdown is not LaTeX.
 
To compile me, run this in R:
 
library(knitr)
knit('001-minimal.Rmd')
 
See [output here](https://github.com/yihui/knitr-examples/blob/master/001-minimal.md).
 
## code chunks
 
A _paragraph_ here. A code chunk below (remember the three backticks):
 
```{r}
1+1
.4-.7+.3 # what? it is not zero!
`
``
 
## graphics
 
It is easy.
 
```{r}
plot(1:10)
hist(rnorm(1000))
`
``
 
## inline code
 
Yes I know the value of pi is `r pi`, and 2 times pi is `r 2*pi`.
 
## math
 
Sigh. You cannot live without math equations. OK, here we go: $\alpha+\beta=\gamma$. Note this is not supported by native markdown. You probably want to try RStudio, or at least the R package **markdown**, or the function `knitr::knit2html()`.
 
## nested code chunks
 
You can write code within other elements, e.g. a list
 
1. foo is good
```{r}
strsplit('hello indented world', ' ')[[1]]
`
``
2. bar is better
 
## conclusion
 
Nothing fancy. You are ready to go. When you become picky, go to the [knitr website](http://yihui.name/knitr/).
 
![knitr logo](http://yihui.name/knitr/images/knit-logo.png)

Una vez que guardes los archivos de códigos, para ver los informes solo tienes que poner en la consola de R:

library(knitr)
knit('knitr-minimal.Rnw')
knit('knitr-minimal.Rhtml')
knit('knitr-minimal.Rmd')

En próximas entradas comentaré cómo pasar de un tipo de archivo a otro y nuevas herramientas de knitr a explorar.

Saludos!

Informes dinámicos, elegantes, rápidos y flexibles con R: knitr (Rmd, Rnw, Lyx-LATEX)

El paquete knitr: una forma de tejer nuestros informes.

El paquete knitr nos permite generar informes html y pdf mediante módulos (o “chuncks”), y así “tejer” (de ahí el icono de knitr) un documento en pequeñas funciones manejables. En particular, nos permite:

  1. obtener un informe rápido y flexible, 
  2. generar un archivo html (Rmd) o pdf (Rwn), 
  3. integrar herramientas como LATEX (el programa amigable de LATEX que recomiendo -y uso- es LyX).
En el siguiente video se muestra cómo instalar el paquete (simplemente, install.packages(“knitr”)) y adaptar RStudio para trabajar con él (options->cambiar de Sweave a knitr). Se detallan cómo formar los módulos para trabajar con Rmd y/o con Rnw.

En la página web de knitr podrán obtener archivos de ejemplos para descargar y aprender a usar knitr.

Generar informes pdf con código LATEX

Por ejemplo, para Rnw basta con darle las siguientes órdenes básicas:

Primero file->new->Rnw. Verás que el archivo ya comienza con la información básica que necesitas.

\documentclass{article}
\usepackage[T1]{fontenc}
 
\begin{document}
 
Here is a code chunk.
 
<<foo, fig.height=4>>=
1+1
letters
chartr('xie', 'XIE', c('xie yihui', 'Yihui Xie'))
par(mar=c(4, 4, .2, .2)); plot(rnorm(100))
@
 
You can also write inline expressions, e.g. $\pi=\Sexpr{pi}$, and \Sexpr{1.598673e8} is a big number.
 
\end{document}

Aquí está el resultado en pdf.

Generar informes html con código LATEX

Por ejemplo, para Rmd basta con darle las siguientes órdenes básicas:

Primero file->new->Rmd. Nuevamente, el archivo comienza con el código básico que necesitamos para construir el documento.

# A minimal R Markdown example
 
A quote:
 
> Markdown is not LaTeX.
 
To compile me, run this in R:
 
library(knitr)
knit('001-minimal.Rmd')
 
See [output here](https://github.com/yihui/knitr-examples/blob/master/001-minimal.md).
 
## code chunks
 
A _paragraph_ here. A code chunk below (remember the three backticks):
 
```{r}
1+1
.4-.7+.3 # what? it is not zero!
`
``
 
## graphics
 
It is easy.
 
```{r}
plot(1:10)
hist(rnorm(1000))
`
``
 
## inline code
 
Yes I know the value of pi is `r pi`, and 2 times pi is `r 2*pi`.
 
## math
 
Sigh. You cannot live without math equations. OK, here we go: $\alpha+\beta=\gamma$. Note this is not supported by native markdown. You probably want to try RStudio, or at least the R package **markdown**, or the function `knitr::knit2html()`.
 
## nested code chunks
 
You can write code within other elements, e.g. a list
 
1. foo is good
```{r}
strsplit('hello indented world', ' ')[[1]]
`
``
2. bar is better
 
## conclusion
 
Nothing fancy. You are ready to go. When you become picky, go to the [knitr website](http://yihui.name/knitr/).
 
![knitr logo](http://yihui.name/knitr/images/knit-logo.png)

Una vez que guardes los archivos de códigos, para ver los informes solo tienes que poner en la consola de R:

library(knitr)
knit('knitr-minimal.Rnw')
knit('knitr-minimal.Rhtml')
knit('knitr-minimal.Rmd')

En próximas entradas comentaré cómo pasar de un tipo de archivo a otro y nuevas herramientas de knitr a explorar.

Saludos!

Graficar con estilo xkcd en R!

Ahora podemos crear gráficos en R con el estilo xkcd! 


Web: http://xkcd.com

Los comics xkcd son creados por Randall Munroe (un cómic web de romance, sarcasmo, matemáticas e idioma” –en español-), un diseñador de robots de la NASA, natural de Chesterfield, Virginia (actualmente vive en Somerville, Massachusetts).

Para crear nuestros propios gráficos debemos instalar el paquete xkcd. En el propio paquete, se encuentran ejemplos de gráficos de puntos, histogramas, etc.
library(xkcd)
vignette
("xkcd-intro")
Por ejemplo, podemos crear el siguiente gráfico:

Graficar con estilo xkcd en R!

Ahora podemos crear gráficos en R con el estilo xkcd! 


Web: http://xkcd.com

Los comics xkcd son creados por Randall Munroe (un cómic web de romance, sarcasmo, matemáticas e idioma” –en español-), un diseñador de robots de la NASA, natural de Chesterfield, Virginia (actualmente vive en Somerville, Massachusetts).

Para crear nuestros propios gráficos debemos instalar el paquete xkcd. En el propio paquete, se encuentran ejemplos de gráficos de puntos, histogramas, etc.
library(xkcd)
vignette
("xkcd-intro")
Por ejemplo, podemos crear el siguiente gráfico:

Knitr: integrar código R en archivos de distintos formatos

Knitr

Knitr es un paquete nuevo de R que permite integrar código R en archivos de distintos formatos (ver tabla 1 y figura 1). Es más potente que los anteriores paquetes Sweave, pdfSweave o cacheSweave.

Ver la entrada anterior sobre knitr.

Format Source file ending Output R Code Chunk R expression
Rnw Rnw (.Rnw) Tex, pdf
<<R example>>=
x <- 1+1
rnorm(5)
@
\Sexpr{pi}
Github format markdown Markdown (.Rmd or .md) md, html
``` {r example}
x <- 1+1
rnorm(5)
```
`r pi`.
HTML Rhtml .html
<!--R example
x <- 1+1
rnorm(5)
end.rcode-->
<!--rinline pi -->

reStructuredText .Rst .rst .. {R example}

.. x <- 1+1

.. rnorm(5)

.. ..

NOTE:include space after the ..

:r:`pi`
Tabla 1. Tipos de archivos que maneja knitr. Fuente: http://www.rstudio.com/shiny/

Aquí tienes una introducción al paquete knitr.

Knitr nos permite utilizar Markdown y R juntos! 

¿Que puede hacer markdown por mi?

  •  Quiero olvidarme del instrumento para pensar sólo en lo que estoy escribiendo
  •  Quiero escribir sin preocuparme del aspecto
  •  Quiero reutilizar lo que ya sé
  •  Quiero índices, bibliografía, …
  •  Quiero documentos ligeros
  •  Quiero escribir como me convenga, para el lector lo que necesite
  •  Quiero poder recortar y pegar a sin problemas
  •  Quiero trabajar con mis colegas

Proceso en investigación reproducible

  1. Elaboración del documento donde se auna la escritura del código y los textos necesarios. En markdonw y R la extensión del fichero es .Rmd
  2. Procesado del documento por la aplicación correspondiente a lenguaje de trabajo, en nuestro caso R. Creación de un documento en el formato deseado; en nuetro caso un documento .md
  3. Procesado, en su caso, del documento resultante, por ejemplo: elaboración de un documento .pdf.
Para un adecuado seguimiento del trabajo, al final o el inicio, conviene añadir:
print(sessionInfo(), locale = FALSE)

Tipos de archivos que podemos generar

En un post anterior, he colgado un video sobre cómo usar knitr, mediante archivos Rnw y Rmd.

Rnw

Descargar el archivo exampleSweave.rnw.
  • Para construir un archivo tex.
Sweave(file="exampleSweave.Rnw")
  • Para convertir el archivo tex a un pdf.
tools::texi2dvi(file="exampleSweave.tex", pdf=TRUE)
  • Para extraer el código R de los trozos o módulos (“chunks”).
Stangle(file="exampleSweave.Rnw")
  • Para producir un archivo html.
Sweave("filename.rnw", driver=RweaveHTML)
    library(knitr)
    knit('knitr-minimal.Rnw')

    También podemos utilizar el programa pandoc (conversor universal) para convertir el archivo Rnw a otros formatos:

    # system("pandoc -s exampleSweave.Rnw -o exampleSweave.pdf") 
    # system("pandoc -s exampleSweave.Rnw -o exampleSweave.docx")
    # system("pandoc -s exampleSweave.Rnw -o exampleSweave.html")

    Rmd

    # Create mark down (.md) file 
    knit("example.Rmd")
    knit2html("example.Rmd")
    knit2pdf("example.Rmd")

     manipular

    require(knitr)
    # Produce the markdown (.md) file
    knit("example.Rmd")

    # help on the output and input formats accepted which include json, html, html5, odt, docx and epub and slide formats slidy, beamer, dzslides etc
    system("pandoc -h")
    # pdf file
    pandoc("example.md", format="latex")
    # html file
    pandoc("example.md", format="html5+lhs")
    # OpenOffice File
    pandoc("example.md", format="odt")
    # Microsoft Word
    pandoc("example.md", format="docx")

    Podemos ver el archivo Rmd de entrada slides.Rmd y el archivo html de salida slides.html.

    También podemos utilizar pandoc de la siguiente manera.

    knit("slides.Rmd")
    system("pandoc -s -S -i -t dzslides --mathjax slides.md -o slides.html")

    Programas relacionados con knitr

    Slidify: resultados html5

    Un paquete relacionado con knitr es Slidify (http://ramnathv.github.io/slidify/), que permite realizar presentaciones html5 a partir de nuestros archivos Markdown.

    Ayuda a crear, personalizar y compartir documentos elegantes, dinámicos e interactivos a través de HTML5 – R – Markdown.

     

    Información extra que puedes necesitar.

    • Cómo instalar Lyx-LATEX

    • Diferencias entre Sweave y Knitr

    • Instalación de Pandoc

    Los usuarios de Windows están de suerte. Instalar Pandoc en Windows ahora es muy fácil. Se puede hacer desde R con el paquete installr. Una vez instalado este paquete en R, ejecutaremos la instrucción
    library(installr)
    install.pandoc()

    • Utilizar pander: el paquete Pandoc en R

    Knitr: integrar código R en archivos de distintos formatos

    Knitr

    Knitr es un paquete nuevo de R que permite integrar código R en archivos de distintos formatos (ver tabla 1 y figura 1). Es más potente que los anteriores paquetes Sweave, pdfSweave o cacheSweave.

    Ver la entrada anterior sobre knitr.

    Format Source file ending Output R Code Chunk R expression
    Rnw Rnw (.Rnw) Tex, pdf
    <<R example>>=
    x <- 1+1
    rnorm(5)
    @
    \Sexpr{pi}
    Github format markdown Markdown (.Rmd or .md) md, html
    ``` {r example}
    x <- 1+1
    rnorm(5)
    ```
    `r pi`.
    HTML Rhtml .html
    <!--R example
    x <- 1+1
    rnorm(5)
    end.rcode-->
    <!--rinline pi -->
    
    
    reStructuredText .Rst .rst .. {R example}

    .. x <- 1+1

    .. rnorm(5)

    .. ..

    NOTE:include space after the ..

    :r:`pi`
    Tabla 1. Tipos de archivos que maneja knitr. Fuente: http://www.rstudio.com/shiny/

    Aquí tienes una introducción al paquete knitr.

    Knitr nos permite utilizar Markdown y R juntos! 

    ¿Que puede hacer markdown por mi?

    •  Quiero olvidarme del instrumento para pensar sólo en lo que estoy escribiendo
    •  Quiero escribir sin preocuparme del aspecto
    •  Quiero reutilizar lo que ya sé
    •  Quiero índices, bibliografía, …
    •  Quiero documentos ligeros
    •  Quiero escribir como me convenga, para el lector lo que necesite
    •  Quiero poder recortar y pegar a sin problemas
    •  Quiero trabajar con mis colegas

    Proceso en investigación reproducible

    1. Elaboración del documento donde se auna la escritura del código y los textos necesarios. En markdonw y R la extensión del fichero es .Rmd
    2. Procesado del documento por la aplicación correspondiente a lenguaje de trabajo, en nuestro caso R. Creación de un documento en el formato deseado; en nuetro caso un documento .md
    3. Procesado, en su caso, del documento resultante, por ejemplo: elaboración de un documento .pdf.
    Para un adecuado seguimiento del trabajo, al final o el inicio, conviene añadir:
    print(sessionInfo(), locale = FALSE)

    Tipos de archivos que podemos generar

    En un post anterior, he colgado un video sobre cómo usar knitr, mediante archivos Rnw y Rmd.

    Rnw

    Descargar el archivo exampleSweave.rnw.
    • Para construir un archivo tex.
    Sweave(file="exampleSweave.Rnw")
    • Para convertir el archivo tex a un pdf.
    tools::texi2dvi(file="exampleSweave.tex", pdf=TRUE)
    • Para extraer el código R de los trozos o módulos (“chunks”).
    Stangle(file="exampleSweave.Rnw")
    • Para producir un archivo html.
    Sweave("filename.rnw", driver=RweaveHTML)
      library(knitr)
      knit('knitr-minimal.Rnw')

      También podemos utilizar el programa pandoc (conversor universal) para convertir el archivo Rnw a otros formatos:

      # system("pandoc -s exampleSweave.Rnw -o exampleSweave.pdf") 
      # system("pandoc -s exampleSweave.Rnw -o exampleSweave.docx")
      # system("pandoc -s exampleSweave.Rnw -o exampleSweave.html")

      Rmd

      # Create mark down (.md) file 
      knit("example.Rmd")
      knit2html("example.Rmd")
      knit2pdf("example.Rmd")

       manipular

      require(knitr)
      # Produce the markdown (.md) file
      knit("example.Rmd")

      # help on the output and input formats accepted which include json, html, html5, odt, docx and epub and slide formats slidy, beamer, dzslides etc
      system("pandoc -h")
      # pdf file
      pandoc("example.md", format="latex")
      # html file
      pandoc("example.md", format="html5+lhs")
      # OpenOffice File
      pandoc("example.md", format="odt")
      # Microsoft Word
      pandoc("example.md", format="docx")

      Podemos ver el archivo Rmd de entrada slides.Rmd y el archivo html de salida slides.html.

      También podemos utilizar pandoc de la siguiente manera.

      knit("slides.Rmd")
      system("pandoc -s -S -i -t dzslides --mathjax slides.md -o slides.html")

      Programas relacionados con knitr

      Slidify: resultados html5

      Un paquete relacionado con knitr es Slidify (http://ramnathv.github.io/slidify/), que permite realizar presentaciones html5 a partir de nuestros archivos Markdown.

      Ayuda a crear, personalizar y compartir documentos elegantes, dinámicos e interactivos a través de HTML5 – R – Markdown.

       

      Información extra que puedes necesitar.

      • Cómo instalar Lyx-LATEX

      • Diferencias entre Sweave y Knitr

      • Instalación de Pandoc

      Los usuarios de Windows están de suerte. Instalar Pandoc en Windows ahora es muy fácil. Se puede hacer desde R con el paquete installr. Una vez instalado este paquete en R, ejecutaremos la instrucción
      library(installr)
      install.pandoc()

      • Utilizar pander: el paquete Pandoc en R