在 R 中导入文件时目录发生变化

Directory changes when importing file in R

在 RMarkdown 中,我设置了我的根目录和控制台工作目录,但我无法 read.pnm 从正确的目录导入。这是我的:

knitr::opts_chunk$set(echo = TRUE)
knitr::opts_knit$set(root.dir = "C:/Users/customdir/.../folder")

library(pixmap)

getwd()
img = read.pnm("~/folder2/img.pgm")

根据 getwd() 的输出,我可以看出它在正确的目录中,但我收到错误:

Warning in file(file, open = "rb") :
  cannot open file 'C:/Users/user/Documents/folder2/img.pgm': No such file or directory
Error in file(file, open = "rb") : cannot open the connection

我不知道为什么它在 "C:/Users/user/Documents/" 中查找,因为那不是我指定的目录。

我还需要更改其他目录吗?

文件名的“~”部分指向您的个人主目录(不是您当前的工作目录)。当您使用“~”时,您给出的是绝对路径,而不是相对于您的工作目录的路径。如果要在当前工作目录中查找文件,请使用

img = read.pnm("folder2/img.pgm")