当我启动R进程时,在内存中预先加载一堆常用的R包,但实际上并没有附加它们的好方法。优选以不存在副作用的方式。
如果我这样做:
getNamespace("XML");
包已加载,它显示在sessionInfo()
:
loaded via a namespace (and not attached):
[1] XML_3.6-2
这有副作用吗?我特别希望防止任何形式的屏蔽,如果我为大量的包执行此操作。这样做的唯一目的是在调用library()
函数或使用mypackage::somefunction
时加快进程。
答案 0 :(得分:3)
它对搜索路径或全球环境没有直接的副作用(我认为这是您所担心的)。但是,它会加载依赖的包并运行.onLoad
,这在理论上可能有副作用(它不应该,但理论上坏的包作者可能会弄乱您的环境)。