【发布时间】:2013-09-02 01:03:24
【问题描述】:
我正在开发一个具有forecast.myclass 功能的包。我希望该功能与forecast 包很好地配合使用。 IE。当forecast 包被加载时,代码forecast(object) 应该从我的包中调用forecast.myclass。
由于我只需要包forecast 中的forecast 的通用定义,并且我不使用包forecast 中的任何其他函数,因此我不愿意将它包含在Depends 中。所以我通过以下方式在我的包中定义泛型:
##'
##' @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),...) {
现在,当包 forecast 未加载时,一切都按预期工作。但是当我加载包forecast 时,不会调用forecast.midas_r,而在执行forecast(object) 时object 属于midas_r 类。我该如何解决这个问题?
【问题讨论】:
-
除非您正在记录
forecast.midas_r(您不是),否则您只需要@S3method(forcast, midas_r)- 这不会创建 Rd 文件,但会将正确的行添加到 NAMESPACE(这是如果您遇到问题,首先要查看) -
@hadley 我记录了 forecast.midas_r 的方式,forecast 和 forecast.midas_r 共享相同的帮助页面。代码在这里:github.com/mpiktas/midasr/blob/master/R/midas_r_methods.R,从第 279 行开始
-
这个帖子太老了,没有公认的解决方案,所以我在这里评论以供参考,这个stackoverflow.com/questions/29079179/…似乎解决了这个问题。