Problem
Gibt es eine Möglichkeit, ein RMarkdown-Skript in eine glänzende Anwendung einzufügen (und auszuwerten). (Beachten Sie, ich bin nicht für eine glänzende Anwendung in RMarkdown suchen, here erklärt, noch bin ich auf der Suche nach Markdown-Skripte in glänzend (see Shiny Gallery Markdown))RMarkdown in glänzender Anwendung
Ich baue eine Anwendung, die Text hat, Gleichungen, Code-Stücke, Diagramme und interaktive Elemente. Aus praktischen Gründen benutze ich Markdown-Dateien für den Text und die Gleichungen und möchte manchmal eine Grafik dazwischen haben (d. H. Die meisten Sachen in RMarkdown schreiben). Da die shiny-App komplexer ist (ich verwende shinydashboard
einschließlich vieler ihrer einzigartigen Funktionen), würde ich eine Option bevorzugen, die nicht den in der first link beschriebenen Ansatz verwendet.
ein Mindestarbeits Beispiel wäre:
R-Datei:
library(shiny)
ui <- shinyUI(
fluidPage(
includeMarkdown("RMarkdownFile.rmd")
)
)
server <- function(input, output) {}
shinyApp(ui, server)
und "RMarkdownFile.rmd" im selben Ordner:
This is a text
$$ E(x) = 0 $$
```{r, eval = T}
plot(rnorm(100))
```
Ergebnis:
Ziel
Was ich haben will, ist der Ausgang, wenn ich die rmd
-datei stricken:
Insbesondere möchte ich die Auswertung der Code-Stücke bekommen (Grundstück etwas ...), und ich möchte die gerenderten mathematischen Gleichungen erhalten.
Irgendwelche Ideen?
Edited Lösung
Dank an den Eingang des @Bunk, wählte ich alle rmd
Dateien md
Dateien mit dem Befehl knit
zu machen und dann bin die md
Dateien in der glänzenden app (I Abschlag anstelle von HTML als letzteres erzeugte einige Probleme mit Gleichungen). Zuletzt wird die includeMarkdown
in withMathJax
verpackt, um die korrekte Darstellung der Gleichungen sicherzustellen.
Der letzte Code sieht wie folgt aus:
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)
Gute Idee, ich spielte gerade mit 'includeHTML' herum, nachdem ich' 'knitr'' verwendet hatte, um eine HTML-Datei zu erstellen. – David
Ich habe darüber auch nachgedacht, Sie könnten wahrscheinlich als die Anwendung laden und das stattdessen tun. Dadurch können Sie die Code-Chunks in bestimmten Umgebungen auswerten. Ich weiß nicht, ob das in diesem Fall nützlich ist. – jenesaisquoi
Noch eine Frage, rendert Ihre Gleichung richtig? – David