1

一旦我定义了一个类,我就想知道在包中的哪个位置。应该只创建一个classDefintions.R包含我的 S4 类定义的文件并将其放入 R 文件夹吗?如果是这样,我怎样才能正确记录它?周围有.rdS4 类的文件模板吗?

我在 Roxygen2 上找到了这篇文章,但我可能落后了几步。它基本上是如何完成和定位的?

4

1 回答 1

4

就像其他 R 对象一样,S4 类和方法定义使用存储在包源的 man 子目录中的 *.Rd 文件进行记录。

除了阅读R-exts 的相关部分之外,我建议下载并查看您熟悉的编写良好的基于​​ S4 的软件包的源代码。(对我来说可能是splme4Matrix。)

最后,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.Rdbbox-methods.Rd看看这些功能将为您节省多少工作量!


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

于 2012-10-17T12:53:08.307 回答