2012-07-01 16 views
15

我正在編寫一個包,但是一個持久的R CMD check警告阻止我完成包並將其發佈到CRAN。我使用roxygen2作爲內聯文檔,雖然這可能不是錯誤的根本原因。R CMD檢查警告:在文檔對象中使用的函數/方法...但不在代碼中

如果你知道如何去除這個警告,我可以很有可能找出一種使用roxygen2的方法。

如何從包裝檢查中刪除警告Functions/methods with usage in documentation object ... but not in code


R CMD check警告:

* checking for code/documentation mismatches ... WARNING 
Functions/methods with usage in documentation object 'names<-' but not in code: 
    names<- 

功能和roxygen文檔:

#' Updates names and variable.labels attribute of surveydata. 
#' 
#' @name names<- 
#' @rdname names 
#' @aliases names<- names<-.surveydata 
#' @param x surveydata object 
#' @param value New names 
#' @method names<- surveydata 
#' @usage names(x) <- value 
"names<-.surveydata" <- function(x, value){ 
    invisible(NULL) 
} 

產生的.rd文檔文件:

\name{names<-} 
\alias{names<-} 
\alias{names<-.surveydata} 
\title{Updates names and variable.labels attribute of surveydata.} 
\usage{ 
    names(x) <- value 
} 
\arguments{ 
    \item{x}{surveydata object} 

    \item{value}{New names} 
} 
\description{ 
    Updates names and variable.labels attribute of 
    surveydata. 
} 

我已經交叉檢查我在基礎R的文檔names<-文檔,它似乎相同:

\title{ The Names of an Object} 
\name{names} 
\alias{names} 
\alias{names.default} 
\alias{names<-} 
\alias{names<-.default} 
\keyword{attribute} 
\description{Functions to get or set the names of an object.} 

相關的問題(但我已經執行的建議,仍然沒有運氣):


我哪裏錯了?如何從包裹檢查中刪除此警告?

+0

我很確定這不是一個roxygen2問題,但是當您的包中包含泛型在另一個包中的方法時會出現問題。我很確定我以前遇到類似的問題,但不幸的是我現在不記得解決方案:-( –

+1

我不認爲你想'@ usage'部分在我的類似Rd文件中自然,您希望使用方法包括'@ method'部分應該*應該*生成的'\ method {names} {surveydata}(x)< - value'。如果不是在刪除'@ usage'後,然後添加一個顯式的'@ usage'包含上面的代碼? –

+1

@GavinSimpson這個方法似乎可行,謝謝。但是,默認情況下,'roxygen'不會生成這個用法,因此覆蓋聲明。這是一個bug /新功能請求 – Andrie

回答

12

在路文件的\usage部分需要包括以下內容:

\method{names}{surveydata}(x) <- value 

如果這不會自動@method線插入(我相信這隻會增加\method{names}{surveydata}(x)?),那麼你需要一個明確的@usage部分包含上述內容。像

#' @usage \\method{names}{surveydata}(x) <- value 

東西我也將改變@name@alias段提及的方法沒有明確的通用性,將與R中::基地路文件衝突。

本質上說,警告的事實出現以後,你的包包含一個函數"names<-"但你在\usage{}用這個。

+0

+1工作 - 我不再收到任何'R CMD檢查'警告。還感謝您提供關於'@ name'和'@ alias'的更多提示。我會仔細研究這些 - 他們很可能在我嘗試滿足包檢查機制時已經被這種方式破壞了! – Andrie

相關問題