在R中,如何在类定义中引用另一个包中的S4类?

时间:2015-07-06 15:15:34

标签: r packages s4

假设我有两个包PackageAPackageB。我在ClassA中有一个S4类PackageA,我希望将其用作ClassBPackageB的基类:

setClass(
    "ClassB", 
    slots = c(), 
    validity = function(object) {

        T
    }
    contains = "ClassA")

但是,当我构建时,我收到错误:

  

没有为超类“ClassA”找到定义

我尝试使用PackageA添加对devtools的引用:

devtools::use_package("PackageA")

也许我需要使用roxygen指令?

1 个答案:

答案 0 :(得分:3)

事实证明ClassA未正确导入。添加正确的roxygen指令解决了问题:

#' @import PackageA
setClass(
    "ClassB", 
    slots = c(), 
    validity = function(object) {

        T
    }
    contains = "ClassA")