总结这一点,因为原来的(下面)现在已经过时并且在某些地方是错误的或误导的。
最接近的问题是pls包predict
中没有命名函数;有一些未导出的 S3 方法,但没有。所以你不能导入这个。泛型存在于stats包中,您需要从那里导入,如下所述。predict
predict
predict
您的包需要具有正确的Depends: pls
方法才能对 R 可用。您可以专门导入pls中的任何内容。DESCRIPTION
predict
您还需要从statspredict
命名空间导入泛型,所以添加
#' @importFrom stats predict
因为这将在你的包命名空间中导入泛型。您还需要添加Imports: stats
到您的DESCRIPTION
文件以表明您需要stats包;以前,我们不必声明对 R 附带的一组基本包(即 R 附带的非推荐包)的依赖关系。
原来的
这里的主要问题是pls没有定义函数/方法predict
。它为泛型提供了几种方法predict
,但不提供泛型本身。
如果需要,您需要从stats包中导入泛型 - 我不确定您是否这样做,因为您没有创建需要或基于泛型构建的函数。至少你需要
#' @importFrom stats predict
尽管您可能需要/想要导入整个stats命名空间 - 取决于您的包在您当前正在处理的功能之外做什么。
另一个问题是predict.mvr
不是从pls命名空间导出的
> require(pls)
Loading required package: pls
Attaching package: ‘pls’
The following object(s) are masked from ‘package:stats’:
loadings
> predict.mvr
Error: object 'predict.mvr' not found
> pls::predict.mvr
Error: 'predict.mvr' is not an exported object from 'namespace:pls'
> pls:::predict.mvr
function (object, newdata, ncomp = 1:object$ncomp, comps, type = c("response",
"scores"), na.action = na.pass, ...)
因此,您不能只导入它。因此,您的包需要Depends: pls
按DESCRIPTION
顺序排列才能找到正确的predict
方法。