一旦我定义了一个类,我就想知道在包中的哪个位置。应该只创建一个classDefintions.R
包含我的 S4 类定义的文件并将其放入 R 文件夹吗?如果是这样,我怎样才能正确记录它?周围有.rd
S4 类的文件模板吗?
我在 Roxygen2 上找到了这篇文章,但我可能落后了几步。它基本上是如何完成和定位的?
一旦我定义了一个类,我就想知道在包中的哪个位置。应该只创建一个classDefintions.R
包含我的 S4 类定义的文件并将其放入 R 文件夹吗?如果是这样,我怎样才能正确记录它?周围有.rd
S4 类的文件模板吗?
我在 Roxygen2 上找到了这篇文章,但我可能落后了几步。它基本上是如何完成和定位的?
就像其他 R 对象一样,S4 类和方法定义使用存储在包源的 man 子目录中的 *.Rd 文件进行记录。
除了阅读R-exts 的相关部分之外,我建议下载并查看您熟悉的编写良好的基于 S4 的软件包的源代码。(对我来说可能是sp、lme4或Matrix。)
最后,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
看看这些功能将为您节省多少工作量!
编辑: 快速重读您的问题后,我看到您还询问如何包含方法和类本身。我的建议基本相同:阅读手册并“使用源代码”(确保还查看文件中的指令exportClasses()
和exportMethods()
指令如何NAMESPACE
用于导出 S4 对象。)