我在线下课程中讲过,R语言文件读取只有一个报错,就是:
传统的R语言书和课程里会讲,setwd()这个命令是设置工作目录用的,所谓工作目录就是图片导出、脚本保存、数据读取的默认位置,这都已经9012年了,自从有了Rproject之后这个命令就应该被废弃了!
关于Rproject,可能对新手来说不太好理解,就是一个.rproj后缀的文件,他的作用是:
.rproj文件在哪,那里就是工作目录!
具体怎么操作我已经写过:R-project管理多个R工作目录
如此一来,你要读取的文件放在和.rproj所在的文件夹下,需要读取文件时,不要手打,只需要打出双引号,然后直接按tab键,选择文件,而非复制文件名是不会出现如此报错的!
真的有人不知道tab,Rstudio里面就没有什么拼写错误是tab解决不了的
有人说,设置了工作目录也可能有一个问题,工作目录下面还有下一级文件夹,是不是不能用?当然不是!哈佛课程里提倡的工作目录管理是这样的:
如果你要读取的data文件夹下的"x8.csv"文件的话,只需要:
x = read.csv("data/x8.csv")
x
就这么简单!不需要写绝对路径,代码应该有复用性,绝对路径严重违背了这个价值观,换个电脑不久不能用了吗?
写到这里,如果你的老师是教的setwd,你还坚持非要用这个命令,那么还是有一个建议:用!t!a!b!
当你避免不了写绝对路径的时候,就看一下会返回绝对路径的命令是怎么写的:
getwd()
#[1] "D:/我的坚果云/实时备课/Day1-R/01-get_start"
如果你从windows上面直接复制的话会发现不对:
所以斜线反过来就好了:
我太难了😭 今天刚发现,两个"\"也是一样的,大概是因为转义掉了所以可以吧。
还有一个问题,就是windows电脑不显示后缀名怎么办!
嗯。我的课件是万能的。虽然这个办法可以解决setwd这个倒霉函数,但是还是需要劝一下,不要再用它了,rproject配tab很好啊,这样的代码才有好的复用性。
微信公众号生信星球同步更新我的文章,欢迎大家扫码关注!
我们有为生信初学者准备的学习小组,点击查看◀️
想要参加我的线上线下课程,也可加好友咨询🔼
如果需要提问,请先看生信星球答疑公告
网友评论