寫入(通用)功能,我想作一個小小的[R包裝出來的一些非常簡單的功能。我使用的文獻是「創建R包:教程」和「編寫R擴展」。儘管我嘗試過,但我並不真正理解泛型函數和方法的概念,以及如何處理不同函數中的參數。參數和類中的R
這裏我的代碼看起來像一個小例子:
#Make generic function
f <- function(x,...) UseMethod("newmethod")
#Default method
f.default <- function(a,b=5,c=3,...){
out <- a+b+c
class(out) <- "fclass"
}
# Print method
print.f <- function(x,...){
cat("Result:")
print(x)
}
# Summary method
summary.f <- function(object,...){
res <- object
class(res) <- "fsummary"
print(res)
}
# Plot method
plot.f <-function(x,p=0.3,...){}
我有一個所謂的F帶有默認f.default功能。其實我的函數需要幾個參數(非它們被定義爲x),所以我該如何使我的泛型函數? 打印方法應該簡單地打印f.default的輸出(在簡單情況下類似於彙總輸出)。 plot.f方法使用f.default的輸出和一個附加參數(強制性)。我該如何正確編寫這些功能?通常的方法使用「object」和「x」等參數......但正如我所說的,我的函數中不需要任何變量x ......我有點困惑......也許有人可以提供幫助。
如果有一個人在那裏如何願意幫我解決這個問題,我也可以發送「真正的」 R代碼(不只是這個虛構的例子)。
的方法必須與通用保持一致。如果你的泛型以參數'x'開頭,那麼方法也必須。 –