我的工作之一是为人们制作R脚本,以自动分析数据并创建图表。最常见的情况是,我只需将脚本发送给他们,然后它就会生成图表。这样,如果数据发生变化或扩展,我就不需要重新运行脚本(此外,他们可以根据需要进行更改)。
问题是,我不知道如何让R脚本找到自己的位置。能够创建以下代码非常方便:
- 用户将脚本保存到包含数据的文件夹中,然后运行脚本。
- 通常我只是通过电子邮件将脚本发送给我的合作伙伴。
- 他们将脚本保存到包含要分析/绘图的数据的文件夹中。
- 理想情况下,他们只需启动R,加载脚本,然后运行脚本。
- 脚本确定自己的位置,然后将其设置为工作目录。
- 脚本分析其所在目录中的数据。
- 脚本生成图形并将其保存到其所在目录中。
这个问题只涉及步骤2。只要我能完成这一步,其他一切都很顺利。最好有这样的东西:
setwd(FindThisScriptsLocation())
有人建议使用source(..., chdir = T)这行代码来解决问题(这里),但是它无法用于脚本引用自身,除非知道它自己的路径。
以下是一些相关问题:
.R脚本文件在哪里...(处理包)
如何让R识别您的工作目录...(设置默认工作目录)
Rscript:确定执行脚本的路径(一个脚本调用其他脚本;没有找到答案)
source
文件的文件名和路径 - Joshua Ulrichsave.image
创建),其中包含他们可以调用的函数呢?只要.RData
文件与 R 相关联,他们就可以在保存到任何目录后双击该文件,然后调用该函数。 - Joshua Ulrich