我亲自教R教程,有很多本科生R新手。我还试图在RPubs上格式化我的笔记,以便其他人可以轻松使用它们。没有什么比人们错误地指定工作目录或将电子表格文件保存到与其工作目录不同的位置更快的了。
是否有可能定义一个跨平台通用的工作目录?例如,一行代码或像这样的函数
setwd( someplace that is likely to exist on every computer)这可能涉及到查找所有计算机上通常存在的某个位置的函数,例如桌面、downloads文件夹或R目录。
发布于 2016-09-04 02:28:19
一般来说,您最好的选择是选择用户的主页区域,
setwd("~")
path.expand("~")由于您是在教新手,一个常见的问题是学生注意到R包目录~/R/,并假设他们应该将脚本放在这个目录中;从而产生了奇怪的bug。为了避免这种情况,我会选择
dir.create("~/RCourse", FALSE)
setwd("~/RCourse")如果你使用RStudio,你可以让他们创建一个RStudio项目。
在过去,我遇到过这种方法不起作用的情况。例如,有些人将他们的家庭区域作为网络驱动器,但无法连接到互联网或通过防火墙。
发布于 2016-09-04 02:40:12
你问我关于
可能存在于每台计算机上的某个位置
是的,R努力确保返回一个有效的目录:tempdir()。
然而,主要的危险可能是这个目录将在会话之后消失(除非您覆盖了在结束时删除每个会话的临时目录的默认行为)。在此之前,它是有效的。
尽管如此,这仍然是有用的。I sometimes use that写入临时文件,我不想在当前目录,或~杂乱。
另外,@csgillespie给了你一个与$HOME相关的很好的答案,也就是~。
https://stackoverflow.com/questions/39309214
复制相似问题