2

我有一个 R 的“复制部署”安装,没有设置 R 特定的环境变量。

我想从内部获取文件Rprofile.site

source("how/to/find/this/file/my_settings.R")

我可以将我的文件放在哪里,以便无论安装在哪个路径中my_settings.R都可以从其中找到它?Rprofile.siteRprofile.site

顺便说一句:我想避免绝对路径my_settings.R确实可行。我更喜欢使用与它相同的文件夹Rprofile.site或相对于它的路径来支持 R 的复制部署。

编辑 1:问题在于,getwd根据您启动 R 的当前文件夹,它总是不同的

4

1 回答 1

2

如果您不能使用绝对路径并且您的工作目录不稳定,则一种方法是使用.libPathsor .Library

默认情况下,您Rprofile应该在目录中,paste0(.Library,"/../etc/")或者paste0(.libPaths()[2],"/etc/") 您可以将文件放在那里并使用以下命令获取它:

source(paste0(.Library,"/../etc/my_settings.R")) 
source(paste0(.libPaths()[2],"/etc/my_settings.R")) 

据我了解,第一个选项是稳定的(我认为无法更改 的值.Library)。

如果您使用第二个选项,请确保如果将来您更改您.libPaths()的文件,您会在获取文件后执行此操作。

有关默认文件夹的更多信息,请参阅?.libPaths

于 2017-11-22T16:29:57.037 回答