【发布时间】:2013-08-02 18:26:59
【问题描述】:
我已经查看了许多与此类似的问题(请参阅帖子末尾),但我还没有找到任何真正满足我需要的解决方案。我根据项目在 Windows 或 Fedora 上编写代码,并且我为使用 Windows 和多个 Linux 发行版的人编写代码。
我的部分工作是为自动分析数据和创建图表的人们编写 R 脚本。最常见的是,我只是将脚本发送给他们,它会生成图表。这样,如果数据发生变化或扩展,我不需要为它们重新运行脚本(而且,它们可以根据需要进行更改)。
问题是我不知道如何获得一个 R 脚本来找出它自己的位置。能够创建如下工作的代码会非常方便:
- 用户将脚本保存到包含数据的文件夹中,然后运行脚本。
- 我通常只是将脚本通过电子邮件发送给与我一起工作的人。
- 他们将脚本保存到包含他们想要分析/绘制的数据的文件夹中。
- 理想情况下,他们只需启动 R,加载脚本,然后运行脚本。
- 脚本确定自己的位置,然后将其设置为工作目录。
- 脚本分析自己目录中的数据。
- 脚本生成图表并将其保存到自己的目录中。
这个问题只涉及第 2 步。只要我能完成,其他一切都会顺利进行。有这样的东西会很好:
setwd(FindThisScriptsLocation())
这一行:source(..., chdir = T) 已被建议 here,但它不能用于脚本引用自身,除非它知道自己的路径。
以下是一些相关问题:
How to get R to recognize your working directory ...(设置默认工作目录)
Rscript: Determine path of executing script(一个脚本调用其他脚本;未找到答案)
【问题讨论】:
-
请提供类似问题的链接,并告诉我们在这种情况下哪些问题不起作用。
-
在第 1 步中,用户如何运行脚本?这就是信息可以传递给函数的地方。
-
@HongOoi 与我共事的人表示他们特别希望我这样做。目前,工作目录每次易手或位置时,我们都必须手动设置它。
-
这似乎过于复杂。为什么不直接向他们发送一个包含他们可以调用的函数的工作区文件(通过
save.image创建)?只要.RData文件与R关联,就可以在任意目录下双击文件,然后调用函数。
标签: r