Knitr可以提供从另一个文件夹中获取脚本的脚本吗?

时间:2017-03-20 21:57:10

标签: r knitr

我有一个项目,我将.rmd文件放在一个名为 docs 的单独文件夹中。 My R Markdown文档如下所示:

---
title: "test"
output: pdf_document
---
## R Markdown
```{r summary}
knitr::opts_knit$set(root.dir = normalizePath("../"))
source('../test.R')
```

我的 test.R 脚本位于根文件夹中,如下所示:

source('helloWorld.R')
print("Hello World")

helloWorld.R 脚本如下所示:

print("Hello World from separate script")

我的两个问题是:

  1. 将根目录设置为" ..",为什么我仍然需要使用" ../来引用 test.R "

  2. 为什么源内的源代码失败?如果我省略 test.R source 部分,上面的脚本可以正常工作吗?

1 个答案:

答案 0 :(得分:0)

setwd将在rmarkdown内工作,虽然knitr可能会警告你使用它并且会在块的末尾改回来。在回答你的第一个问题时,knitr的root_dir是特定于knitr的选项 - 它可能不直接改变工作目录。