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