cbind2
位于 methods
包(package)。 说明
组合两个类似矩阵R按列的对象 (cbind2
) 或行 (rbind2
)。这些是具有默认方法的 (S4) 通用函数。
用法
cbind2(x, y, ...)
rbind2(x, y, ...)
参数
x |
任何R对象,通常是类似矩阵的。 |
y |
任何R对象,通常类似于 |
... |
方法的可选参数。 |
细节
cbind2
( rbind2
) 的主要用途是当满足这两个要求时由 cbind()
( rbind()
) 递归调用:
-
至少有一个参数是 S4 对象,并且
-
S3 调度失败(请参阅 cbind 下的调度部分)。
cbind2
和 rbind2
上的方法有效地定义了组合异构参数集时的类型提升策略。在同类情况下,所有对象都派生自某个 S4 类,可以通过外部定义的 S4 cbind
( rbind
) 泛型通过 ...
参数上的 S4 分派来处理。
由于(由于遗留原因)首先尝试 S3 调度,因此通常最好在 S4 类的 cbind
( rbind
) 上另外定义一个 S3 方法。当参数包含 S4 类的对象以及不存在 S3 方法的类的参数时,将调用 S3 方法。此外,如果有一个参数选择不同的 S3 方法(例如 data.frame
的方法),则该 S3 方法会在调度中引入歧义,从而触发递归回退到 cbind2
(rbind2
)。否则,将调用另一个 S3 方法,这可能不合适。
值
组合 x
和 y
的列(或行)的矩阵(或类似矩阵的对象)。请注意,方法必须从 x
和 y
的相应列名和行名构造 colnames
和 rownames
(但不能从解析参数名称,例如 cbind(...,
deparse.level = d)
中的 )。
方法
signature(x = "ANY", y = "ANY")
-
默认方法使用R的内部代码。
signature(x = "ANY", y = "missing")
-
一个参数的默认方法使用R的内部代码。
例子
cbind2(1:3, 4)
m <- matrix(3:8, 2,3, dimnames=list(c("a","b"), LETTERS[1:3]))
cbind2(1:2, m) # keeps dimnames from m
## rbind() and cbind() now make use of rbind2()/cbind2() methods
setClass("Num", contains="numeric")
setMethod("cbind2", c("Num", "missing"),
function(x,y, ...) { cat("Num-miss--meth\n"); as.matrix(x)})
setMethod("cbind2", c("Num","ANY"), function(x,y, ...) {
cat("Num-A.--method\n") ; cbind(getDataPart(x), y, ...) })
setMethod("cbind2", c("ANY","Num"), function(x,y, ...) {
cat("A.-Num--method\n") ; cbind(x, getDataPart(y), ...) })
a <- new("Num", 1:3)
trace("cbind2")
cbind(a)
cbind(a, four=4, 7:9)# calling cbind2() twice
cbind(m,a, ch=c("D","E"), a*3)
cbind(1,a, m) # ok with a warning
untrace("cbind2")
也可以看看
相关用法
- R className 类名包含对应的包
- R callGeneric 从方法调用当前通用函数
- R canCoerce 可以将对象强制为某个 S4 类吗?
- R classesToAM 计算类定义的超类的邻接矩阵
- 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大神的英文原创作品 Combine two Objects by Columns or Rows。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。