如何使用roxygen导出R中的类(S4)

如何使用roxygen导出R中的类(S4),r,s4,R,S4,我举了一个例子: #' class foo #' #' Is basic class for testing #' #' @slot Name a character. #' @export foo foo <- setClass(Class = "foo",

我举了一个例子:

            #'  class foo
            #'  
            #'  Is basic class for testing
            #'  
            #'  @slot Name a character. 
            #'  @export foo

            foo <- setClass(Class = "foo",
                             slots = c(Name = "character"),prototype = list(Name = character())
            )


            #' foo
            #' 
            #' Tis is a basic constructor for testing
            #' 
            #'  @param Name a character
            #'  
            #'  @export
            #' 

            if(!isGeneric("foo")){
              setGeneric(name = "foo",
                         def = function(Name_ = "default")
                         {
                           standardGeneric("foo")
                         })
            }

            setMethod(f = "foo", signature(Name_ = "character"), 

                      definition = function(Name_)
                      {
                        return(new(Class = foo, Name = Name_))
                      }
            )
但是,当我运行“devtools::load_all()”时,总是会出现以下错误:

in method for ‘getname’ with signature ‘theObject="foo"’: no definition for class “foo”.

如何正确导出S4类。紧随其后的是哈德利·维克汉姆。我希望人们可以构建我的类的实例,但不能扩展它。

当类型约束是来自另一个包的类时,请在setMethod之前编写
@import
,其中
包\u name
是定义该类的包。如果该类属于同一个包(如您的问题所述),则在将该类用作约束之前,您必须编写
@include
,以确保roxygen已处理了您的类定义文件

希望能有帮助

in method for ‘getname’ with signature ‘theObject="foo"’: no definition for class “foo”.