plantillas language examples r shiny r-markdown

language - RMarkdown en Shiny Application



shiny markdown (2)

Creo que tejer y renderizar una interfaz de usuario debería funcionar.

library(shiny) library(knitr) ui <- shinyUI( fluidPage( uiOutput(''markdown'') ) ) server <- function(input, output) { output$markdown <- renderUI({ HTML(markdown::markdownToHTML(knit(''RMarkdownFile.rmd'', quiet = TRUE))) }) } shinyApp(ui, server)

Problema

¿Hay una manera de insertar (y evaluar) un script RMarkdown en una aplicación brillante? (Tenga en cuenta que no estoy buscando una aplicación brillante en RMarkdown como se explica here , ni tampoco estoy buscando scripts de Markdown en brillante ( vea Shiny Gallery Markdown ))

Estoy creando una aplicación que tiene texto, ecuaciones, fragmentos de código, gráficos y elementos interactivos. Para mayor comodidad, uso los archivos de Markdown para el texto y las ecuaciones y me gustaría tener un gráfico a veces intermedio (es decir, escribir la mayoría de las cosas en RMarkdown). Como la aplicación shiny es más compleja (utilizo shinydashboard incluye muchas de sus características únicas), preferiría una opción que no use el enfoque descrito en el here .

Un ejemplo mínimo de trabajo sería:

Archivo R:

library(shiny) ui <- shinyUI( fluidPage( includeMarkdown("RMarkdownFile.rmd") ) ) server <- function(input, output) {} shinyApp(ui, server)

y "RMarkdownFile.rmd" en la misma carpeta:

This is a text $$ E(x) = 0 $$ ```{r, eval = T} plot(rnorm(100)) ```

Resultado:

Objetivo

Lo que quiero tener es la salida si tejo el archivo rmd:

Específicamente, quiero obtener la evaluación de los fragmentos de código (trazar algo ...), y quiero obtener las ecuaciones matemáticas representadas.

¿Algunas ideas?

Solución editada

Gracias a la entrada de @Bunk, elegí renderizar todos los archivos rmd a md con el comando knit y luego incluir los archivos md en la aplicación brillosa (uso markdown en lugar de html ya que este último produjo algunos problemas con las ecuaciones). Por último, el includeMarkdown se includeMarkdown en withMathJax para garantizar la visualización correcta de las ecuaciones.

El código final se ve así:

library(shiny) library(knitr) rmdfiles <- c("RMarkdownFile.rmd") sapply(rmdfiles, knit, quiet = T) ui <- shinyUI( fluidPage( withMathJax(includeMarkdown("RMarkdownFile.md")) ) ) server <- function(input, output) { } shinyApp(ui, server)


De acuerdo con la solicitud de @ elevendollar, esto es lo que terminé usando:

library(shiny) library(knitr) rmdfiles <- c("RMarkdownFile.rmd") sapply(rmdfiles, knit, quiet = T) ui <- shinyUI( fluidPage( withMathJax(includeMarkdown("RMarkdownFile.md")) ) ) server <- function(input, output) { } shinyApp(ui, server)