在内存中预加载包而不附加它

时间:2012-01-11 06:18:02

标签: r cran

当我启动R进程时,在内存中预先加载一堆常用的R包,但实际上并没有附加它们的好方法。优选以不存在副作用的方式。

如果我这样做:

getNamespace("XML");

包已加载,它显示在sessionInfo()

loaded via a namespace (and not attached):
[1] XML_3.6-2

这有副作用吗?我特别希望防止任何形式的屏蔽,如果我为大量的包执行此操作。这样做的唯一目的是在调用library()函数或使用mypackage::somefunction时加快进程。

1 个答案:

答案 0 :(得分:3)

它对搜索路径或全球环境没有直接的副作用(我认为这是您所担心的)。但是,它会加载依赖的包并运行.onLoad,这在理论上可能有副作用(它不应该,但理论上坏的包作者可能会弄乱您的环境)。