2014-10-29 40 views
0

我(重新)建立一個包,我有三個功能:包大樓錯誤 - 使用不符合功能

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, ...) 
} 

回答

0

我能夠達成解決方案Thothal的回答讓我開始了。我刪除了diffPlot.default和diffPlot.formula函數的手冊頁,只保留了一般的diffPlot函數。這裏是什麼樣子:

\name{diffPlot} 
\alias{diffPlot} 
\alias{diffPlot.default} 
\alias{diffPlot.formula} 
%- Also NEED an '\alias' for EACH other topic documented here. 
\title{ 
Difference Plot 
} 
\description{ 
A function for creating a Difference Plot between two groups. 
} 
\usage{ 
diffPlot(x, ...) 

## Default Method 
\method{diffPlot}{default}(x, y, plotFUN=mean, errFUN=c("ci", "se", "sd"), conf=.95, 
    grp.names=NULL, var.equal=FALSE, paired=FALSE, ...) 

## Method for class 'formula' 
\method{diffPlot}{formula}(formula,data, plotFUN=mean, errFUN=c("ci", "se", "sd"), conf=.95, 
    grp.names=NULL, var.equal=FALSE, paired=FALSE, ...) 
} 

注意頂部使用\別名{}和使用\ {方法通用} {}類由Thothal建議以上。