Я использую rmarkdown для выполнения 5 основных шагов: чтение, очистка, преобразования, анализ и т.д.
Мой план состоит в том, чтобы разделить код для каждого шага на один или два файла уценки (.Rmd). Каждый следующий .Rmd будет вызываться как внешний файл в следующем .Rmd (т.е. я хочу вложить свой .Rmd каждого шага в следующий).
Я вставляю файлы .Rmd, заменяя:
knitr::opts_chunk$set(echo = TRUE)
с:
knitr::knit("**ABSOLUTE PATH TO PREVIOUS .Rmd FILE**")
Это работало до моего третьего вложения, когда я получаю сообщение об ошибке в строке knitr::knit:
Error in file(file, "rt" ) Cannot open the connection calls: <Anonymous> … withVisible ->eval ->eval -> read.csv ->read.table -> file
ПРИМЕЧАНИЕ: каждый раз, когда я ссылался на что-либо, это делалось с абсолютными путями, так что это не должно быть проблемой.
Может ли кто-нибудь указать мне правильный способ вложения .Rmd друг в друга?
Наконец, если этот рабочий процесс кажется диким, буду рад любым другим предложениям по архитектуре! Мои причины вложения (в отличие от того, чтобы помещать все в большой блокнот R):
- Я хочу работать на "страницах" .Rmd, чтобы иметь отдельные вкладки с меньшим количеством кода, который мне нужно прокручивать (и, возможно, случайно запутаться).
- Я могу передавать данные с одного шага на другой, не теряя времени на запись их куда-нибудь на диск. (В основном я хочу иметь возможность оценить и использовать результаты предыдущего .Rmd)
- Я могу сделать чистую страницу в формате html или pdf для каждого шага процесса.