methods
位于 utils
包(package)。 说明
列出 S3 和 S4 通用函数的所有可用方法,或 S3 或 S4 类的所有方法。
用法
methods(generic.function, class, all.names = FALSE, dropPath = FALSE)
.S3methods(generic.function, class, envir = parent.frame(),
all.names = FALSE, dropPath = FALSE)
## S3 method for class 'MethodsFunction'
format(x, byclass = attr(x, "byclass"), ...)
## S3 method for class 'MethodsFunction'
print(x, byclass = attr(x, "byclass"), ...)
参数
generic.function |
泛型函数,或命名泛型函数的字符串。 |
class |
命名类的符号或字符串:仅在未提供 |
envir |
当泛型函数作为字符串传递时,在其中查找泛型函数的定义的环境。 |
all.names |
a |
dropPath |
a |
x |
通常的结果是 |
byclass |
可选的 |
... |
传入和传出方法的潜在进一步参数;目前未使用。 |
细节
methods()
查找与 generic.function
或 class
参数关联的 S3 和 S4 方法。找到的方法是所有加载的命名空间通过注册提供的方法,请参阅UseMethod
;通常,这包括当前 search()
路径上的所有包。 .S3methods()
仅查找 S3 方法,.S4methods()
仅查找 S4 方法。
当使用 generic.function
参数调用时,"byclass"
属性(请参阅详细信息)为 FALSE
,并且 print
方法默认显示 S3 和 S4 方法的签名(全名)。 S3 方法通过将通用函数和类粘贴在一起来打印,并用“.”分隔,如 generic.class
。如果方法定义不是从定义该方法的包命名空间导出的,则 S3 方法名称后跟星号 *
。 S4 方法签名打印为 generic,class-method
; S4 允许多次调度,因此签名 generic,A,B-method
中可能有多个类。
当使用 class
参数调用时,"byclass"
是 TRUE
,并且 print
方法默认显示与类 generic
关联的泛型函数的名称。
所有函数的源代码均可用。对于从命名空间导出的 S3 函数,请在命令行中输入方法 generic.class
。对于未从命名空间导出的 S3 函数,请参阅 getAnywhere
或 getS3method
。对于 S4 方法,请参阅 getMethod
。
除了每种通用方法之外,还提供每种方法的帮助。对于交互式帮助,请使用文档快捷方式 ?
以及通用名称和制表符完成 ?"generic<tab>"
来选择需要帮助的方法。
列出的 S3 函数是那些名称类似于方法的函数,但实际上可能不是方法(代码中会丢弃已知的异常)。
值
类 "MethodsFunction"
的对象,具有 "byclass"
和 "info"
属性的方法名称的字符向量。 "byclass"
属性是 logical
,指示结果是否是通过定义的参数 class
获得的。 "info"
属性是一个包含列的 DataFrame :
- 通用的
-
character
泛型名称向量。 - 可见的
-
logical(),方法“visible”是给用户的吗?当为 true 时,它通常从定义它的包的命名空间导出,并且包被
attach()
编辑到search()
路径。 - 是S4
-
logical(),当该方法是 S4 方法时为 true。
- 从
-
a
factor
,找到该方法的位置或包名称。
注意
最初的 methods
函数由 Martin Maechler 编写。
例子
methods(class = "MethodsFunction") # format and print
require(stats)
methods(summary)
methods(class = "aov") # S3 class
## The same, with more details and more difficult to read:
print(methods(class = "aov"), byclass=FALSE)
methods("[[") # uses C-internal dispatching
methods("$")
methods("$<-") # replacement function
methods("+") # binary operator
methods("Math") # group generic
require(graphics)
methods(axis) # looks like a generic, but is not
mf <- methods(format) # quite a few; ... the last few :
tail(cbind(meth = format(mf)))
if(require(Matrix, quietly = TRUE)) {
print(methods(class = "Matrix")) # S4 class
m <- methods(dim) # S3 and S4 methods
print(m)
print(attr(m, "info")) # more extensive information
## --> help(showMethods) for related examples
}
参考
Chambers, J. M. (1992) Classes and methods: object-oriented programming in S. Appendix A of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.
也可以看看
对于 S4,getMethod
、showMethods
、Introduction 或 Methods_Details
。
相关用法
- R menu 菜单交互函数
- R memory.size 内存分配报告
- R mirrorAdmin 管理存储库镜像
- R make.socket 创建套接字连接
- R maintainer 显示包维护者
- R make.packages.html 更新 HTML 包列表
- R modifyList 递归修改列表的元素
- R select.list 从列表中选择项目
- R COMPILE 编译用于 R 的文件
- R readRegistry 读取 Windows 注册表配置单元
- R browseVignettes 在 HTML 浏览器中列出晕影
- R hasName 检查姓名
- R nsl 按主机名查找 IP 地址
- R edit 调用文本编辑器
- R create.post 准备电子邮件和帖子的辅助函数
- R hsearch-utils 帮助搜索实用程序
- R download.packages 从类似 CRAN 的存储库下载软件包
- R DLL.version MS Windows 上的 DLL 版本信息
- R ls.str 列表对象及其结构
- R Rscript R 前端脚本
- R bug.report 发送错误报告
- R PkgUtils 用于构建和检查附加包的实用程序
- R cite 引用参考书目条目
- R SweaveSyntConv 转换 Sweave 语法
- R RSiteSearch 搜索文档中的关键词或短语
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 List Methods for S3 Generic Functions or Classes。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。