У меня есть два файла в одной папке: chapter1.Rmd и chapter2.Rmd со следующим содержимым:
chapter1.Rmd
---
title: "Chapter 1"
output: pdf_document
---
## This is chapter 1. {#Chapter1}
Next up: [chapter 2](#Chapter2)
chapter2.Rmd
---
title: "Chapter 2"
output: pdf_document
---
## This is chapter 2. {#Chapter2}
Previously: [chapter 1](#Chapter1)
Как я могу связать их так, чтобы они были объединены в один выходной файл pdf?
Конечно, render(input = "chapter1.Rmd", output_format = "pdf_document")
отлично работает, но render(input = "chapter1.Rmd", input = "chapter2.Rmd", output_format = "pdf_document")
не работает.
Почему я хочу это сделать? Чтобы разбить гигантский документ на логические файлы.
Я использовал пакет bookdown @hadley для создания латекса из .Rmd, но это кажется излишним для этой конкретной задачи. Есть ли простое решение с использованием командной строки knitr / pandoc / linux, которое мне не хватает? Спасибо.
r
knitr
pandoc
r-markdown
РобинЛовелас
источник
источник
Ответы:
Когда я хочу разбить большой отчет на отдельный Rmd, я обычно создаю родительский Rmd и включаю главы как дочерние. Этот подход легко понять новым пользователям, и если вы включите оглавление (toc), вы легко сможете перемещаться между главами.
report.Rmd
chapter1.Rmd
chapter2.Rmd
Построить
Что производит:
А если вам нужен быстрый способ создания чанков для дочерних документов:
источник
Я бы рекомендовал, чтобы люди использовали пакет bookdown для создания отчетов из нескольких файлов R Markdown. Он добавляет множество полезных функций, таких как перекрестные ссылки, которые очень полезны для более длинных документов.
Адаптировав пример из @Eric , вот минимальный пример настройки bookdown . Основная деталь заключается в том, что должен вызываться главный файл
index.Rmd
и включать дополнительную строку YAMLsite: bookdown::bookdown_site
:index.Rmd
01-intro.Rmd :
02-intro.Rmd :
Если мы Knit
index.Rmd
bookdown объединит все файлы в одном каталоге в алфавитном порядке (это поведение можно изменить с помощью дополнительного_bookdown.yml
файла).После того, как вы освоитесь с этой базовой настройкой, вы легко сможете настроить документ и выходные форматы резервной копии с помощью дополнительных файлов конфигурации, т. Е.
_bookdown.yml
И_output.yml
источник
Это сработало для меня:
Представьте, что есть лучшее решение, и было бы неплохо иметь что-то подобное в пакетах rmarkdown или knitr.
источник