R CMD warning warning: Функции/методы с использованием в объекте документации... но не в коде

Я пишу пакет, но одно постоянное предупреждение 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.
}

Я перекрестно проверил мою документацию с документацией для 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.}

Связанный с этим вопрос (но я уже реализовал это предложение и до сих пор не повезло):

Где я иду не так? Как я могу удалить это предупреждение из проверки пакетов?

1 ответ

В разделе \usage в файле Rd необходимо включить следующее:

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

Если это не будет автоматически вставлено в строку @method (я полагаю, что добавит только \method{names}{surveydata}(x)?), вам понадобится явный раздел @usage, который включает в себя выше. Что-то вроде

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

Я также изменил бы разделы @name и @alias, чтобы явно ссылаться на метод, а не на общий, поскольку он столкнется с Rd файлом в R:: base.

По существу, предупреждение исходит из того факта, что ваш пакет не содержит функции "names<-", но вы используете это в \usage{}.

licensed under cc by-sa 3.0 with attribution.