我正在编写一个包含S4类的包,我为该类编写了as.POSIXct
和as.POSIXlt
的方法。我已经编写了文档,一切看起来都很好,除了我想在as.POSIXct
的文档中引用as.POSIXlt
方法,反之亦然。我试过\S4method{coerce}{abc, POSIXct}(from, to)
,(其中'abc'是S4类),但这只应该放在\usage
部分,这不是我想要的地方。有没有办法做到这一点?对我来说似乎很奇怪,这是不允许的。
我意识到可以组合这些.rd文件并避免这个问题,但我正在尽可能多地学习R中的类和包,所以无论如何这对我很感兴趣。
以下是其中一个.Rd文件的骨架:
\name{as.POSIXct-methods}
\docType{methods}
\alias{as.POSIXct-methods}
\alias{as.POSIXct,ANY-method}
\alias{as.POSIXct,abc-method}
\title{\code{abc} Method for Function \code{as.POSIXct}}
\description{
\code{as.POSIXct} method to coerce timestamps in \code{abc} objects into
\code{POSIXct} format.
}
\section{Methods}{
\describe{
~~description here~~
\item{\code{signature(x = "ANY")}}{
default implementation (from base)
}
\item{\code{signature(x = "abc")}}{
implementation for \code{\link{abc}} objects.
~~more description of function~~
See \code{\linkS4class{abc}} for more about abc objects.
See also \code{\link[abc]{as.POSIXlt}} for the corresponding \code{POSIXlt} method.
}
}}
\keyword{methods}
从底部开始的第四行是导致问题的那一行。
答案 0 :(得分:2)
根据写作R扩展的Cross-references section,您可以创建指向其他帮助页面的链接:
\code{\link[base]{as.POSIXct}}
其中“base”是包的名称(我不认为[base]是必要的,但如果它是另一个包,那就是)
答案 1 :(得分:2)
链接的基本格式是
\link{foo}
其中foo
出现在\alias{foo}
的某个帮助页面(在同一个包中)中。所以如果你的其他包有\ alias {as.POSIXlt,abc-method}(注意没有空格)那么
\link{as.POSIXlt,abc-method}
只有在链接到其他包时才需要添加[abc]
,然后语义混乱(在\link[abc]{foo}
中,foo是HTML帮助页面的名称,而不是比如别名)。添加\code{}
是标记,因此与建立链接无直接关系。上面的链接在帮助页面中插入了“as.POSIXlt,abc-method”,这可能比可能存在的任意\ alias标记更有用(或没有)。