R Markdown - variable output-Namen
Mit einem R markdown-Datei, ich möchte verschiedene mögliche Ausgabe von pdf-Dokumenten, wo die Ausgabe-Datei-Namen sollte definiert werden, innerhalb des Dokuments. Gibt es eine Möglichkeit, davon zu überzeugen, markdown, die die Ausgabe manipulieren mit dem Namen so? Idealerweise würde ich gerne übergeben Sie den Dateinamen durch ein r-chunk.
- könnte Sie nach Ihrem Befehl? wollen Sie die Namen der Dateien "dynamisch"?
paste0("file_",x,".pdf")?
x könnte ein Datum oder den Namen eines datasets - Bisher war ich mit RStudio, die Durchführung der knit-Befehl, ohne eigentlich auf der Suche in mehr details. Aber ich sollte einen genaueren Blick in ilyas Antwort, klingt wie ein viel klareres Konzept.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Halten Sie die Einfachheit der Nutzung des RStudio
Knit
- Taste und Reproduzierbarkeit der einen YAML-header durch Verwendung des undokumentiertenknit
Haken neu zu definieren, was der Knopf macht (default-Funktion aufgerufen wirdrmarkdown::render
). Dieoutput_file
parameter der render-Funktion gibt den Namen der Datei, so dass durch eine Einstellung überschreiben Sie die standard-Verhalten der Verwendung des gleichen Präfix wie das input-mit dem Namen.z.B. immer die Ausgabe einer Datei namens myfile.pdf
Die Funktion kann ein anonymer one-liner als auch als Import aus einem Paket, wie man es hier mit slidify.
Können Sie Ihre eigenen YAML-Header (ich weiß nicht, ob dies ist in der Regel empfohlen, sowieso), zugänglich unter
rmarkdown::metadata$newheader
aber Sie scheinen nicht in diese Art von Funktion, soweit ich das sehen kann.Als für die übergabe von Dateinamen in der aus einer R-chunk... wenn du damit Bezug auf code-Blöcken unterhalb der YAML-header, aus meiner Erfahrung, die ich glaube nicht, dass das möglich ist(?). Header enthalten kann, die inline R-Befehle (single backtick-umschlossener, beginnend mit
r
), aber scheinbar nicht für diese hook-Funktion.Verwandte:
output_file
stricken:
hook /entsprechende GitHub wiki notesparams$data not found
. Ich kann weitergeben, was ich will aus einem script mitrmarkdown::render(params=list(data="Oct2017data"),output_file="Oct2017_analysis.html")
, aber natürlich möchte ich werden in der Lage, nur geben Sie es einmal.Dies ist ziemlich viel, was ich tun:
Ich habe drei scripts - zieht man die Daten und verarbeiten zu können, zweiten erstellt, charts & Tabellen für den Bericht. Dritte einen Bericht erstellt, basierend auf markdown-Datei. Code den Sie oben sehen, ist der Teil, der das Dritte script
Folgenden bis auf das, was @Ilja schrieb, diese Webseite ist ein tolles Beispiel um zu zeigen, was Sie beschreiben, die, wie man erstellen Sie mehrere reproduzierbare Berichte aus demselben .Rmd-Dokument:
http://www.reed.edu/data-at-reed/software/R/markdown_multiple_reports.html
Die Webseite nutzt die zwei scripts, ein R-Skript und eine Rmarkdown Skript zum erstellen mehrerer Berichte. Ich habe es als Vorlage für meine eigene Arbeit und fand es sehr nützlich.
Meine beste Abhilfe (bisher)
sehen Sie die komplette Geschichte auf Stapel
Ich spielte mit der Knitr-Haken, ohne vollständig zu verstehen, wie es funktioniert und lief in einen hässlichen workaround. Die unten Codierung scheint, den trick zu tun.
Wäre schön, wenn jemand entweder erklären, warum es funktioniert und/oder wenn es geschrieben weniger hässlich.
Jetzt verlor ich die glänzende Eingangs-Bildschirm aber glauben Sie, diese können auch später Hinzugefügt werden. Die gute Sache ist, dass die R-Studio-Knit-Taste können weiterhin benutzt werden.
Bitte beachten Sie, dass die Untertitel und die Datei Namen sind beide: Das Funktioniert! auch mit Raum-und Ausrufezeichen. Die Datei wird gespeichert als Dies Funktioniert!.pdf
Den Dateinamen und Untertitel werden festgelegt, durch die Zuweisung des Textes zum Objekt pSubTitle.
Beachten Sie, dass die params sind noch in der YAML-aber nicht was eine glänzende popup-Fenster, wie Sie zugeordnet sind, in der Knitr-Haken