Gibt es eine Möglichkeit, die Ausgabe eines ausgewählten Teils der Abschrift in RStudio auszuprobieren? Es scheint, dass Sie entweder R-Code ausführen oder die gesamte RMD-Seite kompilieren müssen, um die Ausgabe zu sehen.Wie führe ich einen ausgewählten Markierungsblock in rududio (mit Messer) aus?
Antwort
Dies ist eine Windows-only-Lösung und nutzt die Zwischenablage anstelle der aktuellen Auswahl:
die folgende Funktion definieren:
preview <- function() {
output <- tempfile(fileext = ".html")
input <- tempfile(fileext = ".Rmd")
writeLines(text = readClipboard(), con = input)
rmarkdown::render(input = input, output_file = output)
rstudioapi::viewer(output)
}
Dann kopieren Sie den Abschlag Sie wollen und preview()
laufen, um eine Vorschau . Beachten Sie, dass die Ausgabe von der Ausgabe im Abschlussdokument anders sein könnte, weil
- der Code in der aktuellen Umgebung ausgewertet wird
- nur die kopierte Abschlag bewertet, was bedeutet, dass das Snippet keinerlei Zusammenhang hat.
Eine Lösung ohne die Zwischenablage wird höchstwahrscheinlich rstudioapi::getActiveDocumentContext()
beschäftigen. Es läuft darauf hinaus entlang der Linien einer modifizierten preview
Funktion etwas nach unten
preview2 <- function() {
code <- rstudioapi::getActiveDocumentContext()$selection
# drop first line
# compile document (as in preview())
# stop execution (THIS is the problem)
}
, die durch Lauf preview()
vom Abschlag zu machen, gefolgt verwendet werden könnte:
preview2()
The value of pi is `r pi`.
Das Problem ist, ich sehe nicht, wie die Ausführung nach dem Aufruf von preview2()
angehalten werden könnte, um zu verhindern, dass R versucht, The value of …
zu parsen. Siehe this related discussion.
Warum fügst du 'eval = FALSE' nicht zu unerwünschten Chunks hinzu und kompilierst den gesamten Rmd mit nur gewünschten (" ausgewählten ") Chunks? – PoGibas
Die Frage bezieht sich auf Markdown-Chunks, die aus den Chunks bestehen. Zum Beispiel: 'Es gibt \ nrrow (my_data) \' personals.Wie wählst du sowas aus und siehst es als rmarkdown kompiliert – Cenoc