这个设置工作目录出错好几次了,今天解决一下
总结起来就是一句话:相对路径和绝对路径的区别。设置工作目录setwd() ,目录里面的都可以用,不设置就写绝对路径,但是麻烦容易出错,换电脑后不方便用原来代码。
R语言文件读取只有一个报错,就是:
![](https://img.haomeiwen.com/i21355251/7dde18edfdb00fe3.png)
传统的R语言书和课程里会讲,setwd()这个命令是设置工作目录用的,所谓工作目录就是图片导出、脚本保存、数据读取的默认位置,这都已经9012年了,自从有了Rproject之后这个命令就应该被废弃了!
关于Rproject,可能对新手来说不太好理解,就是一个.rproj后缀的文件,他的作用是:
.rproj文件在哪,那里就是工作目录!
如此一来,你要读取的文件放在和.rproj所在的文件夹下,需要读取文件时,不要手打,只需要打出双引号,然后直接按tab键,选择文件,而非复制文件名是不会出现如此报错的!
![](https://img.haomeiwen.com/i21355251/ff3e4e21e17276b1.png)
有人说,设置了工作目录也可能有一个问题,工作目录下面还有下一级文件夹,是不是不能用?当然不是!哈佛课程里提倡的工作目录管理是这样的:
![](https://img.haomeiwen.com/i21355251/b942d81e52fd53cf.png)
如果你要读取的data文件夹下的"x8.csv"文件的话,只需要:
x = read.csv("data/x8.csv")
x
就这么简单!不需要写绝对路径,代码应该有复用性,绝对路径严重违背了这个价值观,换个电脑不久不能用了吗?
写到这里,如果你的老师是教的setwd,你还坚持非要用这个命令,那么还是有一个建议:用!t!a!b!
当你避免不了写绝对路径的时候,就看一下会返回绝对路径的命令是怎么写的:
getwd()
#[1] "D:/我的坚果云/实时备课/Day1-R/01-get_start"
结尾粘贴一下花花老师的R-project管理多个R工作目录
正常情况下关于工作目录的介绍是:
设置工作目录:setwd()
查看工作目录:getwd()
这样的话,只设置了一个工作目录。
当你有多个项目并行的话,全都在一个文件夹下,会显得比较乱,“你就会很lao火”。下面介绍如何并行多个项目,也就是多个工作目录。
1.新建project
打开Rstudio,请忽略我脚本窗口里的内容。
![](https://img.haomeiwen.com/i21355251/fa85d1a6904b2105.png)
project是绑定文件夹的。弹出的窗口问你是新建一个文件夹还是使用已经存在的文件夹。我们以新建为例:
![](https://img.haomeiwen.com/i21355251/58d9feb6b70b3a0c.png)
![](https://img.haomeiwen.com/i21355251/ae977ce9fdd73fa9.png)
![](https://img.haomeiwen.com/i21355251/e055c73e3a2e8ec4.png)
填好文件夹名后,(其实给文件夹命名了,也就等于给project命名了,二者同名)点击Create Project,就打开了一个新的session,不干扰你目前正在进行的项目噢。
2.打开Rproject
只用这一个方法打开Rstudio。那么下次再要打开这个项目时,只需要在文件夹中找到这个R project,双击打开即可。
![](https://img.haomeiwen.com/i21355251/c2a7670c3c2bd953.png)
从此管理多个项目不成问题咯。
打开这个项目后,用getwd()查看一下,就会发现你的工作目录就是Rproject所在的目录啦。
你用到的同一个项目的脚本/数据全都默认放在这里。
网友评论