14

show簡単な例として、S4 ベース メソッドであるへの拡張機能を作成しました。showパッケージに再ドキュメント化することで明確化フォークを引き起こしたくありません。また、 のエイリアスを追加して、拡張機能showのドキュメントを新しいクラス のドキュメントに統合したいと考えています。myPkgSpClassshow,myPkgSpClass-method

#' @export
#' @aliases show,myPkgSpClass-method
#' @rdname myPkgSpClass-class
setMethod("show", "myPkgSpClass", function(object){ show(NA) })

私が抱えている問題は、このパッケージRd files with duplicated alias 'show':には複数のクラス拡張がshowあり、roxygen2 がすべてのエイリアスのリストに一般的な用語を自動的に追加したため、roxygen2 によるドキュメントのビルド中に重大な警告が発生することです。関連*-class.Rdファイル:

\alias{show}
\alias{show,myPkgSpClass-method}

しかし、どのインスタンスにもジェネリック エイリアスは必要ないと思います。これはshow、パッケージ内と base の間のあいまいさを解消する必要があるためshowです。この問題は、 以外の他のパッケージから拡張された他の S4 メソッドにも適用されますshow

すべてのクラス固有のメソッドを同じファイルにタグ付けすると、警告は消えますが、そのドキュメント エントリに対してエイリアスが自動的に追加される.Rdため、あいまいさが残ります。ファイルからshow手動で削除すると、問題は解決したように見えます.roxygenまたは. では、Roxygen2 にジェネリック エイリアスを追加しないようにするにはどうすればよいでしょうか。\alias{show}.RdR CMD check pkgname

その他の背景:

これは、S4 拡張機能を基本メソッドにエクスポート/文書化するための以前の問題から構築された特定の質問です: Is it need to export base method extensions in an R package? ドキュメンテーションへの影響?

これは、Roxygen2 を使用した S4 メソッド / クラスの文書化に関する次の質問よりも具体的であり、カバーされていません。

roxygen2 を使用して S4 メソッドを適切に文書化する方法

Roxygen2を使用してS4クラススロットを適切に文書化する方法は?

4

1 に答える 1

2

roxygen2_3.1.0 で修正されたようです:

#' @export
#' @aliases show,myPkgSpClass-method
#' @rdname myPkgSpClass-class
setMethod("show", "myPkgSpClass", function(object){ show(NA) })

myPkgSpClass-class.Rd を生成します。

\docType{methods}
\name{show,myPkgSpClass-method}
\alias{show,myPkgSpClass-method}
\usage{
\S4method{show}{myPkgSpClass}(object)
}
\arguments{
  \item{object}{Any R object}
}

Hadley が述べたように、別名または rd 名を明示的に設定する必要はもうありません。

#' my title
#' @export
setMethod("show", "myPkgSpClass", function(object){ show(NA) })

show-myPkgSpClass-method.Rd を生成します。

\docType{methods}
\name{show,myPkgSpClass-method}
\alias{show,myPkgSpClass-method}
\title{my title}
\usage{
\S4method{show}{myPkgSpClass}(object)
}
\arguments{
  \item{object}{Any R object}
}
\description{
my title
}

その場合、説明を設定する必要があることに注意してください。ドキュメント エントリが空の場合、ドキュメント ページは生成されません。

于 2014-03-21T10:28:45.043 に答える