每次我重新启动 RStudio 时,它都需要我重新加载之前在工作区中加载的所有包。我似乎无法弄清楚问题是什么,RStudio 在关闭项目时正在保存它们。
当我打开项目时,如何确保 RStudio 重新加载必要的包?
我假设您想说您必须重新加载之前在工作区中加载的所有包。这不是错误,这是设计使然。
如果您想在项目启动时加载一些包,您可以通过在项目目录中创建一个名为的文件.Rprofile
来实现,并指定您希望 RStudio 在加载项目时运行的任何代码。
例如:
cat("Welcome to this project.\n")
require(ggplot2)
require(zoo)
将在控制台中打印一条欢迎消息,并在每次打开项目时加载ggplot2
和加载。zoo
通常,RStudio 中的默认包加载与 R 中的默认包加载没有什么不同(如何在 R 中自动加载包?)。启动时,R 检查.Rprofile
本地或失败的文件,主目录或安装目录(在 Mac/Linux:./.Rprofile
或 else上~/.Rprofile
)并执行它,因此options(defaultPackages...))
它包含的任何或其他与包加载相关的命令。
唯一的小区别是RStudio 在启动前“有用地”更改了您的默认路径, 请参阅“RStudio:使用项目”,因此您可能会加载不同或缺少的 .Rprofile 或错误的 .Rprofile,具体取决于您是否打开了 RStudio项目或只是普通文件,以及您的 RStudio 默认工作目录设置为什么。并不总是清楚你在哪个目录,所以有时这会导致真正的悲伤。
我倾向于在不将我的代码定义为 RStudio 项目的情况下使用 RStudio,仅仅是因为它很笨拙,并且在不添加任何内容的情况下创建了更多文件和目录(无论如何,对于我的用例)。因此,我发现维护 .Rprofile 并确保加载正确的解决方案是从项目目录到我的可靠的旧 Unix 链接 ~
ln -s ~/.Rprofile ./.Rprofile
(如果你在 Windows 上,那就更痛苦了。)
您不需要拥有一个全局 .Rprofile,您可以为不同类型的项目或树保留特定于任务的文件,或者(比如说).Rprofile.nlp、.Rprofile.financial、.Rprofile.bio 等等. 此外options(default.packages
,您还可以收集所有与主题相关的设置:scipen、width、data.table/dplyr-specific options、searchpath...
电源提示:
cat("Loading .Rprofile.foo")
请在每个中添加一行,这样您就可以从控制台看到正确的 .Rprofile.xyz 已加载