Rmarkdown 设置工作目录

Rmarkdown 怎么设置工作路劲

Rmarkdown里面setwd()没用,个人感觉Rmarkdown里的路径乱七八糟的,不知道自己的文件输出到哪里去了,所以在使用Rmarkdown一定要注意你的路劲。在Rmarkdown 的chunk中不要用setwd()。如果一行一行执行命令setwd()不能修改目录,当你knit to html的时候,setwd()在当前的chunk里是生效的,但不能在后续的chunk中起作用。
可以用opts_knit修改,修改工作路劲:root.dir = '/data/biopro'

path <- '/data/biopro'
knitr::opts_chunk$set(eval=TRUE, #在块中运行代码(default = TRUE)
                      highlight = T, #高亮显示
                      echo = F, #是否在输出中包含源代码
                      tidy=TRUE,#是否整理代码
                      error = T, #是否在输出中包含错误信息
                      warning = F, #是否在输出中包含警告(default = TRUE)
                      message  = F, #是否在输出中包含参考的信息
                      cache=F)
knitr::opts_knit$set(root.dir = path)

setwd()不能改当前工作路径,还会报出一条message,在次getwd()还是原来的路劲。

>getwd()
[1] "/data/biopro"
>setwd("/data")
The working directory was changed to /data inside a notebook chunk. 
The working directory will be reset when the chunk is finished running.
 Use the knitr root.dir option in the setup chunk to change the working 
directory for notebook chunks
>getwd()
[1] "/data/biopro"

总结

输出文件是尽量使用绝对路径,如果需要可以用knitr::opts_knit修改代码块根目录。

你可能感兴趣的:(Rmarkdown 设置工作目录)