Я только начинаю использовать rmarkdown, pandoc и knitr. У меня много трудностей, пытаясь заставить pandoc получить изображение, которое находится на одном уровне над документом rmarkdown. Например, рассмотрим наш каталог проекта ~/тест, следующий rmarkdown находится в ~/тест/скриптов:pandoc и rmarkdown: Не удается получить изображение на один уровень выше документа rmarkdown.
---
title: "test"
---
```{r global_options, include=FALSE}
library('knitr')
opts_knit$set(root.dir = '~/test')
```
![test](figures/test.svg)
Я затем запустить команду Rscript -e "rmarkdown::render('scripts/test.Rmd')"
из каталога ~/тест. И это дает мне ошибку:
pandoc: Could not fetch figures/test.svg
figures/test.svg: openBinaryFile: does not exist (No such file or directory)
Я бы подумал, установив root.dir быть директория проекта, что pandoc будет получать файлы по сравнению с этим? Но кажется, что «рабочий каталог» всегда установлен относительно того, где находится документ rmarkdown? Любая помощь будет оценена по достоинству. Спасибо,
>sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C LC_TIME=en_CA.UTF-8 LC_COLLATE=en_CA.UTF-8 LC_MONETARY=en_CA.UTF-8 LC_MESSAGES=en_CA.UTF-8
[7] LC_PAPER=en_CA.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] vimcom_1.0-0 setwidth_1.0-3 colorout_1.0-2
loaded via a namespace (and not attached):
[1] tools_3.1.0`
Это работает, если вы запускаете скрипт из каталога 'scripts'? –
К сожалению нет. Когда я бежал, cd ~/test/scripts && Rscript -e «rmarkdown :: render (« scripts/test.Rmd »)« Я получаю ту же ошибку. – TinyHeero
Я думаю, что вы должны изменить «scripts/test.Rmd» на «test.Rmd», когда вы запускаете его изнутри 'scripts' –