Основной проблемой здесь является pls не определяет функцию/способ predict
. Он предоставляет несколько методов для генератора predict
, но не самого общего.
Вам необходимо импортировать родовое из пакета , если вам это нужно - я не уверен, что вы это делаете, поскольку не создаете функцию, которая нужна или основывается на родовом. Как минимум, вам нужно
#' @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
.
Или вместо того, чтобы помещать 'PLS' в описание DEPENDS, просто используйте' pls ::: predict.mvr' напрямую (и убедитесь, что 'pls' является, по крайней мере, в описании IMPORTS, чтобы гарантировать его установку). – Gregor
Неплохо использовать 'pls ::: predict.mvr' напрямую, тройные двоеточия являются признаком того, что вы ковыряетесь там, где автор не собирался вас. –