繁体   English   中英

是否可以为R定义跨平台工作目录?

[英]Is it possible to define a cross-platform working directory for R?

我正在和大量的本科R新手亲自教授R教程。 我也试图在RPub上格式化我的笔记,以便他们可以轻松地被其他人使用。 没有什么能比人们错误指定工作目录或将电子表格文件保存到与工作目录不同的地方更快地破坏事物。

是否可以定义跨平台通用的工作目录? 例如,一行代码或类似的函数

setwd( someplace that is likely to exist on every computer)

这可能涉及一个函数,该函数可以找到通常存在于所有计算机上的某些位置,例如桌面,下载文件夹或R目录。

一般来说,最好的办法是去用户的家乡,

setwd("~")
path.expand("~")

既然你在教新手,一个常见的问题就是学生注意到R包目录~/R/并假设他们应该将他们的脚本放在这个目录中; 从而产生奇怪的错误。 为了避免这种情况,我会选择

dir.create("~/RCourse", FALSE)
setwd("~/RCourse")

如果你使用RStudio,你可以让他们创建一个RStudio项目。

在过去,我遇到过这种情况不起作用的情况。 例如,有些人将其家庭区域作为网络驱动器,但无法连接到互联网或通过防火墙。

你问过

可能存在于每台计算机上的某个地方

是的,R努力确保它返回一个有效的目录: tempdir()

但是,主要的危险可能是该目录在会话后将消失(除非您覆盖在结束时删除每会话临时目录的默认行为)。 在那之前,它有效。

不过,这可能很有用。 有时用它来编写临时文件,我不想在当前目录中混乱,或者~

否则@csgillespie给你一个很好的回答属于$HOME又名~

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM