Ich habe zwei Dateien im selben Ordner: Kapitel1.Rmd und Kapitel2.Rmd mit folgendem Inhalt:
Kapitel 1.Rmd
---
title: "Chapter 1"
output: pdf_document
---
## This is chapter 1. {#Chapter1}
Next up: [chapter 2](#Chapter2)
Kapitel 2.Rmd
---
title: "Chapter 2"
output: pdf_document
---
## This is chapter 2. {#Chapter2}
Previously: [chapter 1](#Chapter1)
Wie kann ich diese so stricken, dass sie zu einer einzigen PDF-Ausgabe kombiniert werden?
Funktioniert natürlich render(input = "chapter1.Rmd", output_format = "pdf_document")
perfekt , funktioniert aber render(input = "chapter1.Rmd", input = "chapter2.Rmd", output_format = "pdf_document")
nicht.
Warum möchte ich das tun? Ein riesiges Dokument in logische Dateien aufteilen.
Ich habe @hadley ‚s verwendet bookdown Paket zu erstellen Latex aus .Rmd aber dies scheint übertrieben für diese besondere Aufgabe. Gibt es eine einfache Lösung mit der Befehlszeile knitr / pandoc / linux, die mir fehlt? Vielen Dank.
r
knitr
pandoc
r-markdown
RobinLovelace
quelle
quelle
Antworten:
Wenn ich einen großen Bericht in separate Rmd aufteilen möchte, erstelle ich normalerweise eine übergeordnete Rmd und füge die Kapitel als untergeordnete hinzu. Dieser Ansatz ist für neue Benutzer leicht zu verstehen. Wenn Sie ein Inhaltsverzeichnis (toc) einfügen, können Sie leicht zwischen den Kapiteln navigieren.
report.Rmd
Kapitel 1.Rmd
Kapitel 2.Rmd
Bauen
Welches produziert:
Und wenn Sie schnell die Blöcke für Ihre untergeordneten Dokumente erstellen möchten:
quelle
Ich würde empfehlen, dass Benutzer das Bookdown- Paket zum Erstellen von Berichten aus mehreren R Markdown-Dateien verwenden. Es werden viele nützliche Funktionen wie Querverweise hinzugefügt, die für längere Dokumente sehr nützlich sind.
Wenn Sie das Beispiel von @Eric anpassen , finden Sie hier ein minimales Beispiel für das Bookdown- Setup. Das Hauptdetail ist, dass die Hauptdatei aufgerufen
index.Rmd
werden muss und die zusätzliche YAML-Zeile enthalten musssite: bookdown::bookdown_site
:index.Rmd
01-intro.Rmd :
02-intro.Rmd :
Wenn wir
index.Rmd
stricken, werden alle Dateien im selben Verzeichnis in alphabetischer Reihenfolge zusammengeführt (dieses Verhalten kann mithilfe einer zusätzlichen_bookdown.yml
Datei geändert werden ).Sobald Sie mit dieser Grundeinstellung vertraut sind, können Sie das Buchungsdokument und die Ausgabeformate mithilfe zusätzlicher Konfigurationsdateien (z. B.
_bookdown.yml
und) einfach anpassen_output.yml
quelle
Das hat bei mir funktioniert:
Stellen Sie sich vor, es gibt eine bessere Lösung und es wäre schön, so etwas in Rmarkdown- oder Knitr-Paketen zu haben.
quelle