我(重新)建立一個包,我有三個功能:包大樓錯誤 - 使用不符合功能
diffPlot <- function(x, ...) UseMethod("diffPlot")
diffPlot.default <- function(x, y, plotFUN=mean, errFUN=c("ci", "se", "sd"), conf=.95, grp.names=NULL, var.equal=FALSE, paired=FALSE, ...)
diffPlot.formula <- function(formula, plotFUN=mean, errFUN=c("ci", "se", "sd"), conf=.95, grp.names=NULL, var.equal=FALSE, paired=FALSE, ...)
這裏的想法是,用戶可以X,Y格式傳遞給函數或公式(即Y〜X)。所以用戶不需要使用diffPlot.default或diffPlot.formula。原始的diffPlot函數將讀取用戶輸入的內容並選擇適當的子函數。當所有這三個函數都在我的本地工作區中時,這會很好地工作。
當我嘗試構建包時,文檔中出現問題。 R不喜歡使用與功能本身不匹配的事實。我知道我可能需要將diffPlot()函數設置爲Generic,但我真的不知道如何在程序包本身中執行此操作。對於它的價值,我在這裏使用的模型是t.test。
以下是該文檔的使用部分目前的樣子:
\usage{
diffPlot(x, ...)
## Default Method
diffPlot(x, y, plotFUN=mean, errFUN=c("ci", "se", "sd"), conf=.95,
grp.names=NULL, var.equal=FALSE, paired=FALSE, ...)
## Method for class 'formula'
diffPlot(formula, plotFUN=mean, errFUN=c("ci", "se", "sd"), conf=.95,
grp.names=NULL, var.equal=FALSE, paired=FALSE, ...)
}