Jak rozszerzyć metodę S3 z innego pakietu bez ładowania pakietu
Rozwijam pakiet, który ma tę funkcjęforecast.myclass
. Chcę, aby ta funkcja dobrze działałaforecast
pakiet. To znaczy. gdyforecast
pakiet jest ładowany kodforecast(object)
powinien zadzwonićforecast.myclass
z mojego pakietu.
Ponieważ potrzebuję tylko ogólnej definicjiforecast
z opakowaniaforecast
i nie używam żadnej innej funkcji z pakietuforecast
Nie chcę włączać go do Depends. Dlatego definiuję rodzaj ogólny w moim pakiecie w następujący sposób:
##'
##' @export
forecast <- function(object,...) UseMethod("forecast")
##' @rdname forecast.midas_r
##' @method forecast midas_r
##' @export
forecast.midas_r <- function(object,newdata=NULL,method=c("static","dynamic"),insample=get_estimation_sample(object),...) {
Teraz wszystko działa zgodnie z oczekiwaniami w pakiecieforecast
nie jest załadowany. Ale kiedy ładuję pakietforecast
, następnieforecast.midas_r
nie jest wywoływany podczas robieniaforecast(object)
gdzieobject
jest klasymidas_r
. Jak mam rozwiązać ten problem?