You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R Markdown读取数据提示无此文件或目录但普通R脚本可正常运行如何解决

报错核心原因
  • R Markdown在渲染/运行代码块时,默认工作目录是Rmd文件自身所在的文件夹,和R控制台的工作目录相互独立。你控制台查到的工作目录是项目根目录,但如果你的Rmd文件存放在Scripts子文件夹内,Rmd运行时默认的工作目录就是./Scripts,此时按照你写的Data/2020VAERSDATA.csv路径,程序会去Scripts/Data/目录下找文件,自然会报路径不存在的错误。
解决方法
  • 方法1:使用here包自动定位项目根目录(最推荐,适配RStudio项目架构)
    先安装包:

    install.packages("here")
    

    读取文件时修改路径写法:

    library(here)
    vaers20 <- read.csv(here("Data", "2020VAERSDATA.csv"), stringsAsFactors = TRUE)
    

    here会自动识别.Rproj文件所在的根目录,不管Rmd放在哪个子文件夹都能正确定位文件路径。

  • 方法2:手动设置Rmd全局工作目录
    在Rmd文件的首个setup代码块中添加以下配置,将Rmd的工作目录统一修改为项目根目录,后续原有路径写法可直接复用:

    knitr::opts_knit$set(root.dir = rprojroot::find_rstudio_root_file())
    
  • 方法3:手动调整相对路径
    如果你的Rmd确实放在Scripts文件夹内,直接将路径改为指向父目录的写法即可:

    vaers20 <- read.csv("../Data/2020VAERSDATA.csv", stringsAsFactors = TRUE)
    

你可以在Rmd的代码块中运行getwd()打印实际运行时的工作目录,和控制台的输出做对比即可直接验证路径差异。

内容的提问来源于stack exchange,提问作者Magnetar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 07:36:02