我正在编写一个包,但是一个持久的R CMD check
警告阻止我完成包并将其发布到CRAN。我使用roxygen2
作为内联文档,尽管这可能不是错误的根本原因。
如果您知道如何删除此警告,我很可能会找到一种方法来使用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 :(得分:12)
Rd文件中的\usage
部分需要包含以下内容:
\method{names}{surveydata}(x) <- value
如果@method
行没有自动插入(我认为只会添加\method{names}{surveydata}(x)
?),那么您需要一个包含上述内容的明确@usage
部分。像
#' @usage \\method{names}{surveydata}(x) <- value
我还会更改@name
和@alias
部分,以明确地引用该方法而不是泛型,因为它将与R :: base中的Rd文件冲突。
基本上,警告来自于您的包不包含函数"names<-"
但您在\usage{}
中使用此函数的事实。
答案 1 :(得分:0)
如果对任何人都有用,则此错误也可能是由于废弃的Rd文件而导致的,该文件不再具有功能或数据对象。