懒得找路径主要是相对路径和绝对路径分不清,而且讨厌输入斜杠
网上发现了一个R包 rstudioapi 可以解决这个问题:
> install.packages("rstudioapi")#正常安装
WARNING: Rtools is required to build R packages but is not currently installed.
Please download and install the appropriate version of Rtools before proceeding:
https://cran.rstudio.com/bin/windows/Rtools/
trying URL 'https://mirrors.sustech.edu.cn/CRAN/bin/windows/contrib/4.2/rstudioapi_0.13.zip'
Content type 'application/zip' length 302142 bytes (295 KB)
downloaded 295 KB
程序包‘rstudioapi’打开成功,MD5和检查也通过
下载的二进制程序包在
C:\Users\aa\AppData\Local\Temp\RtmpIRl9AA\downloaded_packages里
*getActiveDocumentContext()*可以知道你正在编辑的文件的信息。
> getActiveDocumentContext()
Document Context:
- id: 'A8A6AA01'
- path: ''
- contents: <4 rows>
Document Selection:
- [4, 1] -- [4, 1]: ''
但是这里路径显示的为空,是因为这个文件是新建的,没有路径。我是这么理解的,可能不对,对我来说不重要,以后遇到问题再说
我们将该文件保存之后成功出现路径信息,同样的如果将该命令直接在**控制台(Console)**输入也不会显示路径信息。
>getActiveDocumentContext()
Document Context:
- id: '#console'
- path: ''
- contents: <1 rows>
Document Selection:
- [1, 1] -- [1, 1]: ''
>
既然已经可以得到当前编辑文件的路径了,后面的就简单了:
> getActiveDocumentContext()$path#提取path信息
[1] "C:/Users/aa/Desktop/Rdemo/rstudioapi.r"
> dirname(getActiveDocumentContext()$path)#提取当前目录,之后设置成工作目录就可以。
[1] "C:/Users/aa/Desktop/Rdemo"
> #完整版
> setwd((dirname(rstudioapi::getActiveDocumentContext()$path)))
> #rstudioapi:: 可用于如rstudio等相互交互,详情见文档
> getwd()
[1] "C:/Users/aa/Desktop/Rdemo"
帮助文档:rstudioapi::