R CMD检查警告:在文档对象中使用的函数/方法...但不在代码中

And*_*rie 18 r package roxygen2

我正在写一个包但是一个持续的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<-
Run Code Online (Sandbox Code Playgroud)

功能和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)
}
Run Code Online (Sandbox Code Playgroud)

生成的.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.
}
Run Code Online (Sandbox Code Playgroud)

我已经用names<-基础R 的文档交叉检查了我的文档,它看起来完全相同:

\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.}
Run Code Online (Sandbox Code Playgroud)

相关问题(但我已经实施了建议但仍然没有运气):


我哪里错了?如何从包裹检查中删除此警告?

Rei*_*son 12

\usageRd文件中的部分需要包含以下内容:

\method{names}{surveydata}(x) <- value
Run Code Online (Sandbox Code Playgroud)

如果这不是由@method行自动插入的(我假设只会添加\method{names}{surveydata}(x)?),那么你需要一个@usage包含上述内容的显式部分.就像是

#' @usage \\method{names}{surveydata}(x) <- value
Run Code Online (Sandbox Code Playgroud)

我还会更改@name@alias部分以明确地引用方法而不是泛型,因为它将与R :: base中的Rd文件冲突.

从本质上讲,警告来自这样一个事实,即您的软件包包含"names<-"您正在使用它的功能\usage{}.