如何在包中完成S4类定义以及如何正确记录?

时间:2012-10-17 11:30:14

标签: r documentation s4

一旦我定义了一个类,我想知道在一个包中的位置。应该只创建一个包含我的S4类定义的文件classDefintions.R并将其放到R文件夹中?如果是这样,我该如何正确记录?是否有针对S4类的.rd文件模板?

我发现了post on Roxygen2,但我可能会落后一步。它是如何基本完成和定位的?

1 个答案:

答案 0 :(得分:4)

与其他R对象一样,S4类和方法定义都记录了存储在包源的man子目录中的* .Rd文件。

除了阅读the relevant section of R-exts之外,我还建议您下载并查看您熟悉的基于S4的精心编写的软件包的来源。 (对我来说,可能是 sp lme4 矩阵。)

最后,方法包中包含两个漂亮的实用程序函数promptClass()promptMethods(),它们将为任何定义的S4类或方法填充一个框架* .Rd文件。目前的R会议。

作为使用 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.Rdbbox-methods.Rd,了解这些功能可以为您节省多少工作!


编辑:在快速重读您的问题后,我发现您也在询问如何自行包含方法和类。我对此的建议基本相同:阅读手册和“使用源代码”(确保同时查看exportClasses()文件中的exportMethods()NAMESPACE指令如何用于导出S4对象。)