我正在编写一个包,我想在其中创建一个新的泛型方法,称为" analyze",根据参数类做不同的事情。与print
print.lm
,print.aov
等
在我的包的R文件夹中,我创建了两个文件," analyze.lm"和" analyze.aov"包含eponym函数。但是,如果我在analyze(fit)
对象上运行lm
,它什么也不做,因为R只识别analyze.lm
而不识别根函数("仅分析")。
我已尝试添加" analyze.R"文件,包含setMethod()
(但错误),setGeneric("analyze", function(x) attributes(x))
(但没有解决问题)或analyze()
函数打印" NULL"。但是,如果我在analyze(fit)
对象上运行lm
,则打印NULL而不是运行analyze.lm
类方法。
我怎样才能创建一个类似于base print
的泛型方法,它根据参数类的行为不同,而且我在不同的文件中进行了分割(analyze.lm.R,analyze.aov.R等)。 )。谢谢!
答案 0 :(得分:2)
添加如下通用函数:
analyze <- function(object, ...){
UseMethod("analyze")
}