刚刚看到这个:
$ Rscript -e "sessionInfo()['basePkgs']"
$basePkgs
[1] "stats" "graphics" "grDevices" "utils" "datasets" "base"
$ R --vanilla --slave -e "sessionInfo()['basePkgs']"
$basePkgs
[1] "stats" "graphics" "grDevices" "utils" "datasets" "methods"
[7] "base"
R
运行时似乎总是可用methods
包,但在使用Rscript
时不是。我怀疑这是为了提高性能,但除了显而易见的性能提升之外,还有什么实际影响吗?我问这个问题是因为一个有趣的 bug由于methods
包的存在或缺失而被触发。
library(methods)
来显式加载一个包。 - Carl Witthoft?Rscript
告诉你为什么省略了methods
包:"Rscript
的默认设置省略了methods
包,因为它占据了约 60% 的启动时间。" - Joshua Ulrichman Rscript
。 - krlmlrDepends: methods
(请参考 Chambers 在 @GSee 引用的讨论中的评论),并且在 NAMESPACE 文件中需要添加import("methods")
。这也许是最佳实践。 - Martin Morgan