首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在包中定义S4类,以及如何正确地将其记录下来?

如何在包中定义S4类,以及如何正确地将其记录下来?
EN

Stack Overflow用户
提问于 2012-10-17 19:30:14
回答 1查看 956关注 0票数 1

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

我找到了这个post on Roxygen2,但我可能比这里晚了几步。它基本上是如何完成和定位的?

EN

Stack Overflow用户

回答已采纳

发布于 2012-10-17 20:53:08

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

除了阅读the relevant section of R-exts之外,我还建议您下载并查看您所熟悉的编写良好的基于S4的包的源代码。(对我来说,可能是splme4矩阵。)

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

作为使用sp包中定义的R对象的示例,您可以这样做:

代码语言:javascript
运行
复制
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,看看这些函数能为您节省多少工作!

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

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12933301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档