2013-03-05 9 views
11

Ich habe ein kleines Paket für meinen eigenen Gebrauch geschrieben, und mit Devtools ist alles sehr gut gelaufen. Allerdings habe ich versucht, R CMD Check darauf zu starten, und bekam eine Reihe von Fehlern, scheinbar weil meine Verwendung und Beispiele Funktionen von Basis R, die nicht in meinem Paket sind, hier ist meine minimale Funktion und roxygen DokumentationFehler Objekte in Verwendung ohne Alias ​​im Dokumentationsobjekt von R CMD Check

#' Function to Sort a dataframe with a given list of columns 
#' Cribbed from Spector, P. (2008). "Data Manipulation with R", UseR! Springer. Pg78 
#' @param df Dataframe to be sorted 
#' @param ... list of columns to sort on 
#' @return A sorted dataframe 
#' @author "Paul Hurley" 
#' @export 
#' @usage with(dataframe,sortframe(dataframe,column1, column2, column3)) 
#' @examples with(iris,sortframe(iris,Sepal.Length,Sepal.Width,Petal.Length)) 
sortframe<-function(df,...){df[do.call(order,list(...)),]} 

und R CMD Check gibt

Undocumented arguments in documentation object 'sortframe' 
    'dataframe' 'sortframe(dataframe, column1, column2, column3)' 
Documented arguments not in \usage in documentation object 'sortframe': 
    'df' '...' 
Objects in \usage without \alias in documentation object 'sortframe': 
    'with' 

gibt es eine Möglichkeit R CMD überprüfen zu sagen/roxygen2, dass diese Funktionen in Base beschrieben werden?

Antwort

3

Sie sollten kein @usage Tag einschließen. Roxygen wird es von Ihrem Code ableiten. Ihr @usage ist wirklich ein Beispiel. R beschwert sich, weil Sie sich auf Objekte beziehen, die nicht in Ihrer Funktionsdefinition enthalten sind. @usage, wenn Sie darauf bestehen, es in sich selbst zu setzen, sollte nur sortframe, df und ... verweisen. Da Sie bereits eine @example haben, sollten Sie in der Lage sein, das @usage Tag wegzulassen.