一旦我定义了一个类,我想知道在包中的什么位置。应该只创建一个包含S4类定义的classDefintions.R文件并将其放入R文件夹吗?如果是这样,我怎样才能正确地记录它呢?有没有S4类的.rd文件模板?
我找到了这个post on Roxygen2,但我可能比这里晚了几步。它基本上是如何完成和定位的?
发布于 2012-10-17 20:53:08
就像其他R对象一样,通过存储在包源的man子目录中的*.Rd文件来记录S4类和方法定义。
除了阅读the relevant section of R-exts之外,我还建议您下载并查看您所熟悉的编写良好的基于S4的包的源代码。(对我来说,可能是sp、lme4或矩阵。)
最后,methods包包含两个漂亮的实用函数promptClass()和promptMethods(),它们将为当前R会话中定义的任何S4类或方法填充一个框架*.Rd文件。
作为使用sp包中定义的R对象的示例,您可以这样做:
library(sp) ## for some example S4 classes and methods
promptClass("SpatialPolygons")
# A shell of class documentation has been written to the file
# ‘SpatialPolygons-class.Rd’.
promptMethods("bbox")
# A shell of methods documentation has been written to the file
# ‘bbox-methods.Rd’.然后看看文件SpatialPolygons-class.Rd和bbox-methods.Rd,看看这些函数能为您节省多少工作!
编辑:在快速重读您的问题之后,我看到您也在询问如何包含方法和类本身。我对此的建议基本上是一样的:阅读手册并“使用源代码”(确保还要查看如何使用NAMESPACE文件中的exportClasses()和exportMethods()指令导出S4对象)。
https://stackoverflow.com/questions/12933301
复制相似问题