我已经查看了许多与此类似的问题(请参阅帖子末尾),但我还没有找到任何真正满足我需要的解决方案。根据项目的不同,我在 Windows 或 Fedora 上编写代码,并且我为使用 Windows 和多个 Linux 发行版的人编写代码。
我的部分工作是为自动分析数据和创建图表的人们编写 R 脚本。最常见的是,我只是将脚本发送给他们,它会生成图表。这样,如果数据发生变化或扩展,我不需要为它们重新运行脚本(而且,它们可以根据需要进行更改)。
问题是我不知道如何获得一个 R 脚本来找出它自己的位置。能够创建如下工作的代码将非常方便:
- 用户将脚本保存到包含数据的文件夹中,然后运行脚本。
- 我通常只是将脚本通过电子邮件发送给与我一起工作的人。
- 他们将脚本保存到包含他们想要分析/绘制的数据的文件夹中。
- 理想情况下,他们会启动 R,加载脚本,然后运行脚本。
- 脚本确定自己的位置,然后将其设置为工作目录。
- 脚本分析自己目录中的数据。
- 脚本生成图形并将其保存到自己的目录中。
这个问题只涉及第 2 步。只要我能做到,其他一切都很好。有这样的东西会很好:
setwd(FindThisScriptsLocation())
行: source(..., chdir = T) 已被建议here,但它不能用于脚本来引用自己,除非它知道自己的路径。
以下是一些相关问题:
.R 脚本文件在哪里...(处理包)
如何让 R 识别您的工作目录...(设置默认工作目录)
Rscript:确定执行脚本的路径(一个脚本调用其他脚本;未找到答案)