4

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

如果我这样做:

getNamespace("XML");

包已加载并显示在sessionInfo()

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

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

4

1 回答 1

3

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

于 2012-01-11T19:25:52.733 回答