.Rprofile的搜索路径与默认路径不同

时间:2017-05-27 10:48:50

标签: r search-path rprofile

考虑以下两行:

Sys.setenv(R_IMPORT_PATH = "/path/to/my/r_import")
foo <- modules::import("foo")

如果我从已经建立的交互式R会话中执行此代码,它可以正常工作。

但是,如果我在.Rprofile中添加相同的两行并开始新的交互式R会话,则modules::import行会失败

Error in module_init_files(module, module_path) : 
  could not find function "setNames"

如果我然后尝试以下修复/黑客

Sys.setenv(R_IMPORT_PATH = "/path/to/my/r_import")
library(stats)
foo <- modules::import("foo")

...然后modules::import行仍然失败,但使用以下

Error in lapply(x, f) : could not find function "lsf.str"

因此修补缺失名称的想法似乎是一场难以维持的噩梦......

关键问题是:交互式搜索会话启动后的搜索路径似乎与.Rprofile脚本看到的搜索路径不同。

Q1:我是否有办法告诉R将搜索路径完全按照交互式会话中出现第一个>提示时的方式进行操作?

Q2:或者,{<1}}是否可以安排某些代码在会话的默认搜索路径所在之后运行放置?

NB:以下解决方案:

.Rprofile

...每次修改(第三方)Sys.setenv(R_IMPORT_PATH = "/path/to/my/r_import") library(stats) library(utils) foo <- modules::import("foo") 包时都可能会中断。

0 个答案:

没有答案