在R包中定义泛型的位置

时间:2015-01-30 13:41:48

标签: r s4

我想用S4对象编写一个包,需要注册新的泛型函数。我想将我的代码分成几个文件 - 每个类都有自己的.R文件。然而,他们的方法当然共享通用的通用功能。我需要在哪里调用setGeneric(),以便在包的任何.R文件中使用setMethod()?目前我收到类型错误

Error in setMethod("XXX", signature(yyy = "YYY"), definition = function(yyy,  : 
  no existing definition for function 'XXX'

1 个答案:

答案 0 :(得分:5)

组织您认为合适的代码(例如,AllGenerics.R文件或以泛型开头的XXX-methods.R文件)。使用DESCRIPTION文件中的“Collat​​e:”字段确保在定义方法之前可以使用泛型。