在 R CMD 检查期间记录 S4 class 和 "undocumented code object"
Document S4 class and "undocumented code object" during R CMD check
在努力用 roxygen2 记录 S4 class 之后,我决定退后一步,使用 package.skeleton
、promptClass
和 promptMethod
创建一个最小示例.
我的问题是 R CMD check
仍然给出关于 "undocumented code objects" 的警告,尽管我认为我已经正确记录了它们。
我现在的文件是:
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)
}
)
测试类-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 自动调用(我已从 class .Rd 文件中将其注释掉,因为它在那里重复)。
我需要在 .Rd 文件中更改什么才能消除此警告?
同时,我想通了问题所在。看来我还需要 ass \alias{testMethod}
到 .Rd 文件。然而,我觉得奇怪的是,promptMethod
生成的文件没有包含这个别名。
在努力用 roxygen2 记录 S4 class 之后,我决定退后一步,使用 package.skeleton
、promptClass
和 promptMethod
创建一个最小示例.
我的问题是 R CMD check
仍然给出关于 "undocumented code objects" 的警告,尽管我认为我已经正确记录了它们。
我现在的文件是:
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)
}
)
测试类-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 自动调用(我已从 class .Rd 文件中将其注释掉,因为它在那里重复)。
我需要在 .Rd 文件中更改什么才能消除此警告?
同时,我想通了问题所在。看来我还需要 ass \alias{testMethod}
到 .Rd 文件。然而,我觉得奇怪的是,promptMethod
生成的文件没有包含这个别名。