如何修复文件中的错误(文件、ifelse(附加“a”和“w”):无法在R笔记本中打开连接

如何修复文件中的错误(文件、ifelse(附加“a”和“w”):无法在R笔记本中打开连接,r,rnotebook,R,Rnotebook,我正在学习R笔记本,我有一个路径问题。我制作了一个R项目,并将所有脚本和文件托管在包含R项目的文件夹中。我正在尝试运行: 接下来,安装库: library(tidyverse) library(CHNOSZ) library(janitor) 然后使用以下命令导入和合并文件: d <-list.files(path="./merge", pattern="*.csv", full.names = TRUE) %>% map_df(~read_csv(., col_types

我正在学习R笔记本,我有一个路径问题。我制作了一个R项目,并将所有脚本和文件托管在包含R项目的文件夹中。我正在尝试运行:

接下来,安装库:

library(tidyverse)
library(CHNOSZ)
library(janitor)
然后使用以下命令导入和合并文件:

d <-list.files(path="./merge", pattern="*.csv", full.names = TRUE) %>% 
  map_df(~read_csv(., col_types = cols(.default = "c")))

d
在文件(file,ifelse(追加“a”,“w”))中引发错误:无法打开连接

当我在Rstudio的同一个项目中以普通脚本的形式运行这个脚本时,它工作得很好。我合并了.csv文件,没有问题,我可以将它导出回我的项目目录,没有问题


这似乎是RNotebook和文件路径之间的冲突。如何解决此问题?

问题的答案是添加:


knitr::opts_knit$set(root.dir = rprojroot::find_rstudio_root_file())


根据csgroen的评论和这篇文章,在笔记本脚本的顶部

R笔记本的工作目录是默认文件所在的目录。您可以在knitr选项中对此进行更改。请参阅。我曾尝试在同一个项目目录中构建一个不同脚本的R笔记本,它没有出现这些问题。这可能是path=“merge”(我已经尝试了path=“merge”和path=“./merge”)的问题吗?您是否尝试过在knitr选项中设置工作目录以查看是否有效?

knitr::opts_knit$set(root.dir = rprojroot::find_rstudio_root_file())