如何使用相对文件路径在 R Markdown 块中插入图片

Alo*_*kin 3 r filepath knitr r-markdown

我的project_folder 中嵌套有两个文件夹(folder1 和folder2)。Folder2 是我的工作目录,它是我保存 RMarkdown 文件及其输出的位置。文件夹 1 是我保存图片和数据文件的地方。我试图在文件夹 2 目录中编译和工作时从文件夹 1 插入 .jpg 文件。我尝试这样做:

```{r Chunk1, echo = FALSE, message = FALSE, warning = FALSE, error = FALSE, comment = NA, fig.align = "center", results = 'asis'}

#Set the wd one step back

knitr::opts_knit$set(root.dir = setwd('..')) 

#Call the picture

knitr::include_graphics('/folder1/external/picture1.jpg')


```
Run Code Online (Sandbox Code Playgroud)

但我不断收到程序找不到文件的错误:

Error in knitr::include_graphics("/folder1/external/picture1.jpg") : Cannot find the file(s): "/folder1/external/picture1.jpg" Calls: <Anonymous> . . . withCallingHandlers -> withVisible -> eval -> eval -> <Anonymous> In addition: Warning message: package 'knitr' was built under R version 3.5.2. Execution halted.
Run Code Online (Sandbox Code Playgroud)

还有其他方法可以做到这一点吗?我在这里做错了什么?

mel*_*wgs 5

问题是你给它一条扭曲的道路。尝试在路径前添加“../”并确保到达正确的位置。(输入“../”后,按TAB键可以看到当前所在目录,并选择相应的图片文件名。

knitr::include_graphics('../folder1/external/picture1.jpg')
Run Code Online (Sandbox Code Playgroud)

  • 我发现有效的是在文件夹路径开始之前添加另一个 / ,因此: knitr::include_graphics('..//folder1/external/picture1.jpg', error = FALSE) 我不太确定为什么会这样,我认为这与计算机如何读取文件名有关。 (2认同)