當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。