我在运行R 2.11.1的干净Debian安装上加载sde
包时遇到问题。我已经看到了其他一些软件包的这种行为,所以我不认为它只针对这一个软件包。以下是这个难题的一个例子:
>install.packages("sde", lib.loc=libPath)
...安装sde,以及它依赖的包:zoo,fda
> library(sde, lib=libPath)
Loading required package: fda
Error: package 'fda' could not be loaded
In addition: Warning message:
In library(pkg, character.only = TRUE, logical.return = TRUE, lib.loc = lib.loc) :
there is no package called 'fda'
好的,这很奇怪。我看到fda正在安装。所以我手动加载依赖项:
> library(zoo, lib=libPath)
> library(fda, lib=libPath)
Loading required package: splines
好的,这很有用。现在让我们试试sde:
> library(sde, lib=libPath)
To check the errata corrige of the book, type vignette("sde.errata")
WTF?装得很好?!?
那么为什么我可以手动加载软件包,但R却没有自动提取它们?
令我困惑的是,我在调试过程中发现,如果我不使用lib=libPath
,那么一切正常。所以看起来使用自定义路径来解决这个问题......但为什么呢?
答案 0 :(得分:3)
你在评论中证实了我的怀疑。你需要做两件事之一:
.libPaths(libPath)
或
library(sde, lib=c(libPath,.libPaths()))
我更喜欢第一种方法,因为第二种方法要求您对library
的所有调用执行此操作。