可能重复:
如何使用Roxygen2正确记录S4类插槽
我想建立一个包含包S4 classes
,使用R Studio和roxygen2
。 使用我已经证明我的所有功能roxygen2
语法当我介绍了几个S4 classes
我的包。
现在我意识到,有外的开箱没有“@slot”功能。 所以,我不知道如何可以保持对其他功能的所有我的文档工作,并记录S4 classes
手动喜欢在提出这个主题 ?
或者换句话说,你会推荐哪些工作流程,建立了包含两个老同学的功能和包装S4 classes
?
编辑:你会建议配置[R Studio构建工具不创建.Rd文件。 roxygenize
手动,然后再把添加信息? 不过这将导致覆盖类的手动生成.Rd文件...
在roxygen和S4类一般信息
roxygen的第一个版本有一个@slot
标签,但该版本不保持有利于更多的roxygen2
。 所以建议对使用该旧版本。
至于现在, roxygen2
不具有S4类的真正支持。 哈德利正在努力使在发生roxygen3
( https://github.com/hadley/roxygen3 )。 如果你想给它一个镜头和感觉勇敢的:安装roxygen3
从GitHub,并尝试开发版本。 请注意,这个版本最终会被incoorporated到roxygen2
,所以在时间上的问题会自行解决。
关于你的工作流程:
我个人一直觉得这是一个坏主意,使用roxygen和手动编写.Rd文件结合起来。 但是,如果你一定要,你可以roxygen的输出发送到使用的参数不同的目录roxygen.dir
。 这样,您就可以复制任何你想要回包目录,但不覆盖手写文件。
roxygenise("./mypackage", roxygen.dir="./myroxygendir")
我会做什么,是简单地使用roxygen2
为您链接到线程解释写Rd文件为你的类。 您不必手动添加他们像你相信一些未知的原因。 你只需要使用#'
来表示喜欢总是路块,以及使用什么是你链接到线程给出。 如果你想插槽一个单独的部分,你可以做到这一点使用@section
标签像下面的例子。
如何添加插槽使用时刻的一个例子roxygen2
:
#' The MY class
#'
#' This class blabla yadayada
#'
#'@section Slots:
#' \describe{
#' \item{\code{aslot}:}{Object of class \code{"numeric"}, containing
#'whatever and a bit more}
#' \item{\code{anotherslot}:}{Object of class \code{"character"}, containing
#' strings.}
#' }
#'
#' @note Yes, you can add notes
#' @name MY
#' @rdname MY
#' @aliases MY-class
#' @exportClass MY
#' @author Joris Meys
setClass("MY",
representation=representation(aslot="numeric",
anotherslot="character"
)
文章来源: What's the recommended package build workflow with packages that contain S4 classes? [duplicate]