我想用S4对象编写一个包,需要注册新的泛型函数。我想将我的代码分成几个文件 - 每个类都有自己的.R文件。然而,他们的方法当然共享通用的通用功能。我需要在哪里调用setGeneric()
,以便在包的任何.R文件中使用setMethod()
?目前我收到类型错误
Error in setMethod("XXX", signature(yyy = "YYY"), definition = function(yyy, :
no existing definition for function 'XXX'
答案 0 :(得分:5)
组织您认为合适的代码(例如,AllGenerics.R文件或以泛型开头的XXX-methods.R文件)。使用DESCRIPTION文件中的“Collate:”字段确保在定义方法之前可以使用泛型。