Rmd文件调用readr::read_csv2()提示command not found如何解决?
问题原因
你遇到的/bin/sh: load: command not found报错和读取CSV的函数本身无关,核心是RMarkdown渲染时误将你的R代码块识别为Shell(bash)代码块,调用系统终端执行R语法才会抛出终端层面的命令不存在错误。
解决方案
按优先级逐一排查即可:
- 首先检查代码块的头部标记是否正确:R代码块必须严格使用```r作为开头,反引号和小写r之间不能有空格,也不能漏写r、错写为其他字符。示例正确写法:
# 这是正确的R代码块开头 my_data <- read_csv2(".Data/my_data_2021-06-29.csv")
- 若代码块标记无问题,可在Rmd文件开头的YAML头部新增全局引擎配置,强制指定默认代码块用R执行:
--- title: "你的文档标题" output: html_document engine: r ---
- 排查RStudio配置异常:前往
Tools > Global Options > R Markdown检查默认设置是否被修改为其他代码引擎,重置为默认值后重启RStudio测试。 - 若上述操作都无效,重新安装rmarkdown包后重试:
install.packages("rmarkdown")
补充说明
你代码里的路径写法.Data/xxx.csv对应的是Rmd文件所在目录下的隐藏文件夹.Data,如果解决代码块识别问题后出现文件不存在报错,可以在代码块中先执行getwd()确认渲染时的工作目录,再调整文件路径即可。
内容的提问来源于stack exchange,提问作者MKob
相关产品推荐
相关产品推荐

