【发布时间】:2018-01-15 20:12:02
【问题描述】:
我正在编写一个包,我想在其中创建一个新的通用方法,称为“分析”,它根据参数类做不同的事情。类似于print 具有print.lm、print.aov 等。
在我的包的 R 文件夹中,我创建了两个文件,“analyze.lm”和“analyze.aov”,其中包含同名函数。但是,如果我在 lm 对象上运行 analyze(fit),它什么也不做,因为 R 只识别 analyze.lm 而不是根函数(仅“分析”)。
我尝试添加一个“analyze.R”文件,该文件包含setMethod()(但出现错误)、setGeneric("analyze", function(x) attributes(x))(但未解决问题)或打印“NULL”的analyze() 函数”。但是,如果我随后在 lm 对象上运行 analyze(fit),则打印 NULL 而不是运行 analyze.lm 类方法。
我如何创建一个类似于基本print 的通用方法,它根据参数类的行为不同,并且我维护拆分为不同的文件(analyze.lm.R、analyze.aov.R 等)。谢谢!
【问题讨论】: