在运行之前,请确保已加载所有默认包。Rprofile

Make sure all default packages are loaded before running .Rprofile

提问人:Marius 提问时间:11/28/2012 更新时间:11/28/2012 访问量:1739

问:

我设置了几个 RStudio 项目来自动执行多项选择测试评分等任务。执行任务所需的函数只是保存在文本文件中,为了确保它们可供我或其他用户使用,我一直在使用一个文件,该文件只是在启动时运行。如果文件位于 RStudio 项目的基目录中,则在打开项目时会自动运行该文件.Rprofilesource("MyFunctions.R").Rprofile

但是,我偶尔会遇到一些错误,即在获取脚本之前未加载基本 R 包提供的函数,例如 or ,例如:read.csvinstalled.packages

Error in eval(expr, envir, enclos) : 
  could not find function "installed.packages"

有没有办法在运行之前等待默认包加载,而不是为所有无法加载的默认包添加显式调用?source()library()

r rstudio

评论


答:

7赞 Josh O'Brien 11/28/2012 #1

这似乎非常明确:?Startup

请注意,当仅来源于站点和用户配置文件时 “base”包被加载,因此其他包中的对象需要 例如,通过“utils::d ump.frames”或显式引用 装载相关包裹

基于该明确建议,使用来加载必要的包看起来是您最好的选择。library()

评论

0赞 Marius 11/28/2012
谢谢,看来我应该重新考虑用于这些事情。我一直把它看作是自动加载函数和运行脚本的一种快速方便的方式,但似乎它并没有真正那样工作。.Rprofile
0赞 Josh O'Brien 11/28/2012
如果你还没有看过它,你可能会对这个 SO [r] 标签经典感兴趣:stackoverflow.com/questions/1189759/......
2赞 Marius 11/28/2012 #2

Josh 的回答指向了文档,看起来在 may 的顶部添加一个调用是一个选项,因为这似乎是处理所有默认包加载的函数。它通常在 之后运行,这可以解释我遇到的错误。?Startup.First.sys().Rprofile.Rprofile