Tôi đang phát triển gói có chức năng forecast.myclass
. Tôi muốn chức năng đó hoạt động tốt với gói forecast
. I E. khi gói forecast
được tải mã forecast(object)
nên gọi forecast.myclass
từ gói của tôi.Cách mở rộng phương thức S3 từ gói khác mà không tải gói
Vì tôi chỉ cần định nghĩa chung của forecast
từ gói forecast
và tôi không sử dụng bất kỳ chức năng nào khác từ gói forecast
Tôi không muốn đưa nó vào Phụ thuộc. Vì vậy, tôi xác định chung trong gói của tôi theo cách sau:
##'
##' @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),...) {
Bây giờ mọi thứ hoạt động như mong đợi khi gói forecast
không được tải. Nhưng khi tôi tải gói forecast
, thì forecast.midas_r
không được gọi, khi thực hiện forecast(object)
trong đó object
thuộc loại midas_r
. Tôi nên giải quyết vấn đề này như thế nào?
Trừ khi bạn đang ghi tài liệu 'forecast.midas_r' (bạn không), bạn chỉ cần' @ S3method (forcast, midas_r) '- sẽ không tạo tệp Rd, nhưng sẽ thêm dòng đúng vào NAMESPACE (đó là nơi đầu tiên để xem nếu bạn đang gặp sự cố) – hadley
@hadley Tôi ghi lại dự báo.midas_r theo cách dự báo và dự báo.midas_r chia sẻ cùng một trang trợ giúp. Mã có tại đây: https://github.com/mpiktas/midasr/blob/master/R/midas_r_methods.R, bắt đầu tại dòng 279 – mpiktas