Класс документа S4 и "недокументированный код объекта" во время проверки CMD R
После борьбы с документированием класса S4 с помощью roxygen2 я решил сделать шаг назад и создать минимальный пример, используя package.skeleton
, promptClass
, а также promptMethod
,
Моя проблема в том что R CMD check
по-прежнему выдает предупреждение о "недокументированных объектах кода", хотя я думаю, что правильно их задокументировал.
Файлы, которые у меня есть сейчас:
testClass.R:
setClass("testClass",
slots = c(a = "numeric"),
prototype = prototype( a = 0 ),
validity = function(object) return(TRUE))
setGeneric(name = "testMethod",
def = function(object, ...) standardGeneric("testMethod") )
setMethod(f = "testMethod", signature = "testClass",
definition=function(object, x)
{
cat("testMethod:",x,"\n")
invisible(object)
}
)
TestClass-class.Rd
\name{testClass-class}
\Rdversion{1.1}
\docType{class}
\alias{testClass-class}
%%\alias{testMethod,testClass-method}
\title{Class \code{"testClass"}}
\description{bla bla}
\section{Objects from the Class}{bla bla}
\section{Slots}{\describe{\item{\code{a}:}{Object of class \code{"numeric"} ~~ }}}
\section{Methods}{\describe{\item{testMethod}{\code{signature(object = "testClass")}: ... }}}
\keyword{classes}
и testMethod.Rd
\name{testMethod-methods}
\docType{methods}
\alias{testMethod-methods}
\alias{testMethod,testClass-method}
\title{ ~~ Methods for Function \code{testMethod} ~~}
\description{blabla}
\section{Methods}{
\describe{\item{\code{signature(object = "testClass")}}{blabla}}}
\keyword{methods}
Существует также файл документации пакета, но я думаю, что он здесь не актуален.
R CMD check
дает:
* checking for missing documentation entries ... WARNING
Undocumented code objects:
‘testMethod’
All user-level objects in a package should have documentation entries.
See chapter ‘Writing R documentation files’ in the ‘Writing R
Extensions’ manual.
Я ознакомился с этими разделами, и из них я понял, что мне нужен хотя бы псевдоним generic,signature-list-method
, который в этом случае будет alias{testMethod,testClass-method}
который был помещен в файл документации автоматически при моем вызове promtMethod (я закомментировал его из файла класса.Rd, потому что он там был продублирован).
Что мне нужно изменить в файле.Rd, чтобы избавиться от этого предупреждения?
1 ответ
А пока я разобрался с проблемой. Кажется, мне тоже нужно было в попку \alias{testMethod}
в файл.Rd. Однако мне кажется странным, что файл, сгенерированный promptMethod
не включал этот псевдоним.