1
僅供參考,看起來像這個問題已經有LISP equivalent。將R S3普通函數轉換爲通用
最近我想創建一個數據框擴展到R基函數setdiff
,並認爲通用會很好。以下工作但笨重:
#' @export setdiff.default
setdiff.default <- setdiff
#' @export
setdiff <- function(x, ...) {
UseMethod("setdiff")
}
#' @export
setdiff.data.frame <- function(A, B) {
A[!duplicated(rbind(B, A))[nrow(B) + 1:nrow(A)], ]
}
當您加載包時,基本功能被屏蔽。如果我爲新功能編寫額外的文檔,則會創建另一個.Rd文件,並與原始基本R函數(R要求您在運行?setdiff
時選擇所需的那個文件)競爭。
有沒有一個乾淨的方法來做到這一點?
我看不到問題。當幫助索引顯示您屏蔽功能幫助頁面時,我認爲這是一件「好事」。你看過'setMethod'下的選項嗎? –
是的,我可能會要求太多。我希望有一種方法可以將基本方法與新的泛型「合併」。 –