我正在和大量的本科R新手亲自教授R教程。我也试图在RPub上格式化我的笔记,以便他们可以轻松地被其他人使用。没有什么能比人们错误指定工作目录或将电子表格文件保存到与工作目录不同的地方更快地破坏事物。
是否可以定义跨平台通用的工作目录?例如,一行代码或类似
的函数setwd( someplace that is likely to exist on every computer)
这可能涉及一个函数,它可以找到通常存在于所有计算机上的某个位置,例如桌面,下载文件夹或R目录。
答案 0 :(得分:4)
一般来说,最好的选择是去用户的家庭区域,
setwd("~")
path.expand("~")
由于你正在教新手,一个常见的问题是学生注意到R包目录~/R/
,并假设他们应该把他们的脚本放在这个目录中;从而产生奇怪的错误。为了避免这种情况,我会选择
dir.create("~/RCourse", FALSE)
setwd("~/RCourse")
如果你使用RStudio,你可以让他们创建一个RStudio项目。
过去,我遇到过这种情况不起作用的情况。例如,有些人将其家庭区域作为网络驱动器,但无法连接到互联网或通过防火墙。
答案 1 :(得分:2)
你问过
可能存在于每台计算机上的某个地方
是的,R努力确保这会返回一个有效的目录:tempdir()
。
不过,这可能很有用。我sometimes use that要编写我不想在当前目录中混淆的临时文件,或~
。
否则@csgillespie会给你一个与$HOME
又名~
有关的答案。