在R中,在另一个包中包含泛型的新方法的最简单方法是什么?例如,' nlme' package有一个名为' getData"用于课堂对象的方法' lme'并且' nls'。我只想为课程对象添加一个方法' lm'在我自己的包中。
答案 0 :(得分:2)
如果要向getData
中的nlme
添加现有S3通用的另一种方法,只需创建一个名为getData.classname
的函数即可。例如,假设我有一个特殊的对象" foo"
z <- structure(5, class="foo")
我只是定义
getData.foo<-function(x, ...) {
unclass(x)+5
}
然后我打电话
library(nlme)
getData(z)
#[1] 10
我的自定义函数被调用。这一切都与正确命名您的功能有关。那就是它。