classesToAM
位于 methods
包(package)。 说明
给定类名向量或类定义列表,该函数返回这些类的超类的邻接矩阵;也就是说,一个以类名作为行名和列名的矩阵,如果第 j 列中的类是第 i 行中类的直接超类,则元素 [i, j] 为 1,否则为 0。
该矩阵具有类定义的 contains
槽隐含的信息,但其形式通常更便于进一步分析;例如,在软件包和其他软件中使用邻接矩阵来构建关系的图形表示。
用法
classesToAM(classes, includeSubclasses = FALSE,
abbreviate = 2)
参数
classes |
类名称的字符向量或列表,其元素可以是类名称或类定义。该列表很方便,例如包含类名的包槽。请参阅示例。 |
includeSubclasses |
逻辑标志;如果 |
abbreviate |
控制返回矩阵的行和/或列标签的缩写:值 0、1、2 或 3 都不缩写、行、列或两者都缩写。默认值 2 对于打印矩阵很有用,因为类名往往超过一个字符长,适合 spread-out 打印。值 0 或 3 适合制作图表(3 避免了某些图表绘制软件生成小字体标签的倾向)。 |
细节
对于每个类,计算从类定义中获取所有超类名称,并找到这些类定义中的边;即距离为1的所有超类。邻接矩阵的相应元素设置为1。
各个类定义的邻接矩阵被合并。请注意两种可能的不一致,这两种不一致都不会导致问题,除非可能来自不同包的同名类。边是根据每个超类定义计算的,因此信息会覆盖距离 > 1 的扩展元素的可能推断(而且应该如此)。当参数中连续类的矩阵被合并时,计算当前不会检查不一致之处 - 这是多个具有相同名称的类可能会导致混乱的区域。稍后的修订可能包括一致性检查。
值
如所说明的,具有条目0或1的矩阵,非零值指示对应于列的类是对应于行的类的直接超类。行和列名称是类名称(不包含包槽)。
例子
## the super- and subclasses of "standardGeneric"
## and "derivedDefaultMethod"
am <- classesToAM(list(class(show), class(getMethod(show))), TRUE)
am
## Not run:
## the following function depends on the Bioconductor package Rgraphviz
plotInheritance <- function(classes, subclasses = FALSE, ...) {
if(!require("Rgraphviz", quietly=TRUE))
stop("Only implemented if Rgraphviz is available")
mm <- classesToAM(classes, subclasses)
classes <- rownames(mm); rownames(mm) <- colnames(mm)
graph <- new("graphAM", mm, "directed", ...)
plot(graph)
cat("Key:\n", paste(abbreviate(classes), " = ", classes, ", ",
sep = ""), sep = "", fill = TRUE)
invisible(graph)
}
## The plot of the class inheritance of the package "graph"
require(graph)
plotInheritance(getClasses("package:graph"))
## End(Not run)
也可以看看
extends
和 classRepresentation 用于获取类定义的基础信息。
相关用法
- R className 类名包含对应的包
- R callGeneric 从方法调用当前通用函数
- R cbind2 按列或行组合两个对象
- R canCoerce 可以将对象强制为某个 S4 类吗?
- R as 强制对象属于某个类
- R language-class 表示未评估语言对象的类
- R BasicClasses 基本数据类型对应的类
- R findClass 查找类定义
- R setOldClass 注册旧式 (S3) 类和继承
- R ReferenceClasses 具有按引用处理的字段的对象(OOP 样式)
- R MethodsList 方法列表对象
- R setGroupGeneric 创建函数的组通用版本
- R StructureClasses 基本结构对应的类
- R showMethods 显示指定函数或类的所有方法
- R getMethod 获取或测试方法的定义
- R slot 正式类对象中的槽
- R S4groupGeneric S4组通用函数
- R methodUtilities 用于方法和 S-Plus 兼容性的实用函数
- R getClass 获取类定义
- R evalSource 使用源文件中的函数定义,无需重新安装包
- R is 对象是来自类吗?
- R isSealedMethod 检查密封方法或类
- R GenericFunctions 管理通用函数的工具
- R dotsMethods 在方法签名中使用...
- R S3Part 包含 S3 类的 S4 类
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Compute an Adjacency Matrix for Superclasses of Class Definitions。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。