在Debian上没有加载R的依赖包

时间:2011-07-07 16:30:47

标签: r packages

我在运行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,那么一切正常。所以看起来使用自定义路径来解决这个问题......但为什么呢?

1 个答案:

答案 0 :(得分:3)

你在评论中证实了我的怀疑。你需要做两件事之一:

.libPaths(libPath)

library(sde,  lib=c(libPath,.libPaths()))

我更喜欢第一种方法,因为第二种方法要求您对library的所有调用执行此操作。