当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R cbind2-methods 'cbind()' 和 'rbind()' 递归地构建在 cbind2/rbind2 上


R语言 cbind2-methods 位于 Matrix 包(package)。

说明

基函数 cbindrbind 是为任意数量的参数定义的,因此具有第一个形式参数 ... 。现在,当在参数中找到 S4 对象时,在 “dispatch” 内部递归地基 cbind()rbind(),分别调用 cbind2rbind2,其中这些对象已定义方法,因此应适当调度。

cbind2()rbind2()是来自methods封装,即标准R,并已提供用于绑定在一起矩阵,其中Matrix,我们已经为这些定义了方法,并且'Matrix'矩阵。

用法

## cbind(..., deparse.level = 1)
## rbind(..., deparse.level = 1)

## S4 method for signature 'denseMatrix,sparseMatrix'
cbind2(x, y, sparse = NA, ...)
## S4 method for signature 'sparseMatrix,denseMatrix'
cbind2(x, y, sparse = NA, ...)
## S4 method for signature 'denseMatrix,sparseMatrix'
rbind2(x, y, sparse = NA, ...)
## S4 method for signature 'sparseMatrix,denseMatrix'
rbind2(x, y, sparse = NA, ...)

参数

...

为了[cr]bind,类似向量或矩阵R绑定在一起的物体;为了[cr]bind2,传入或传出方法的进一步参数;看cbindcbind2.

deparse.level

在非类矩阵参数的情况下控制标签构造的整数;请参阅cbind

x , y

类似向量或矩阵R要绑定在一起的对象。

sparse

logical 指示结果是否应该是形式稀疏的,即是否应该从虚拟类 sparseMatrix 继承。 NA ,默认根据xy的“sparsity”决定;例如,参见 selectMethod(cbind2, c("sparseMatrix", "denseMatrix"))

通常是类似 class 的“类矩阵”对象作为 ... 中的第一个参数。

请注意,有时默认情况下,如果参数之一为 sparseMatrix(即使在效率不高的情况下),结果也是 sparseMatrix。在其他情况下,当零条目多于非零条目时,结果被选择为稀疏(如 Matrix() 中的默认 sparse )。

例子

(a <- matrix(c(2:1,1:2), 2,2))

(M1 <- cbind(0, rbind(a, 7))) # a traditional matrix

D <- Diagonal(2)
(M2 <- cbind(4, a, D, -1, D, 0)) # a sparse Matrix

stopifnot(validObject(M2), inherits(M2, "sparseMatrix"),
          dim(M2) == c(2,9))

作者

Martin Maechler

也可以看看

cbindcbind2

我们的类定义帮助页面提到了 cbind2()rbind2() 方法: "denseMatrix""diagonalMatrix""indMatrix"

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 'cbind()' and 'rbind()' recursively built on cbind2/rbind2。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。