問題タブ [roxygen2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5066 参照

r - パッケージのドキュメントはどのように作成しますか?

パッケージをビルドしてドキュメントを書くための賢明なワークフローを完全には理解していません。

できるだけ多くのプロセス (およびドキュメント) を自動的に生成したいと考えています。

これを行う明白な方法は、 を使用package.skeletonして基本的なパッケージ ファイルを作成し、プログラムでDESCRIPTIONファイルとファイルを上書きすることRdです。これに関する問題は、すべての適切なパラメーターを文書化することを忘れていないことを保証する、自動生成されたフィールドが失われることです。

パッケージの構築とドキュメントの作成について、どのように行っいるか知りたいです。プロセスを簡単にするために利用できるツールはありますか? ( roxygenはこの種の目的のために設計されたようです。適切なチュートリアルはありますか? また、代替手段はありますか?)

0 投票する
2 に答える
1082 参照

r - roxygen2を優先してroxygenをスキップすることは可能ですか/お勧めですか?

私は最近、ドキュメンテーションの問題/怠惰を解決するために Roxygen を指摘されました。しかし、私の理解では、この光沢のあるRoxygen2はやや独自のものです. Hadley のパッケージ ツールでは Roxygen2 を使用する必要がありますが、ウォークスルーによるものはあまりないようです。

私が学習プロセスでゼロから始めていることを考えると:

  1. 新しいユーザーにとって、Roxygen2 の代わりに Roxygen を好むユースケースはありますか、それとも Roxygen2 の方があらゆる点で優れていますか?

  2. もしそうなら、それを学習するためのリソースは何ですか (できれば、Roxygen の予備知識に依存しないもの)?

  3. Roxygen2 は Roxygen と下位互換性がありますか (Roxygen の学習と作成に費やされた時間が引き継がれるように)?

0 投票する
1 に答える
1457 参照

r - 照合フィールドに追加せずにデータセットを文書化するにはどうすればよいですか?

roxygen2開発中のパッケージのデータセットを文書化するために使用しています。roxygen を使用してデータセットを文書化できることは知っていますが、シェーンの答えは最終的にハックを示唆していますが、これは避けたいと思います。だから、私の質問は:

データの roxygen ドキュメントはどこに置くべきですか?

現在、/R フォルダーにanorexia.sub.roxygen拒食症データセットのデータ ドキュメント ファイル ( ) があります。

マイ パッケージ ディレクトリ

私が知る限り、それが roxygen2 が検索する唯一の場所だからです。

roxygen2ドキュメントをうまく生成します。しかし、それはanorexia.sub.roxygen.R私のCollateフィールドに追加しますDESCRIPTION:

私の質問は次のとおりだと思います:どうすればroxygen2を手に入れることができますか

  1. roxygen ブロックからデータ ドキュメントを自動的に生成し、
  2. Collate呼び出しにデータ ドキュメント ファイルを追加しない、および
  3. ハックを必要とする解決策を避ける
0 投票する
1 に答える
259 参照

r - 「名前が見つかりません...」というRoxygenの警告を消すには?

パラメータ use.Rd2 = TRUE で roxygenize() を呼び出しています。R.oo を使用して単純な S3 オブジェクトを作成するファイル testcase.R があります。ファイルの内容は次のとおりです。ここで roxygen が行うことは何もなく、内容を無視する必要があります。

そして、ここにエラーがあります:

どうすれば警告を消すことができますか? 他の投稿の提案に従って、最初の行として次を追加しましたが、機能しませんでした:

0 投票する
2 に答える
13230 参照

r - Roxygen2 - S3 メソッドを適切に文書化する方法

Roxygen2 PDF とこのサイトを読みましたが、@method @S3method @export の違いと、これらを使用して S3 メソッドを適切に文書化する方法について迷っています。議論のために次の例を作成しました。

  1. これらを適切に文書化するにはどうすればよいですか?

  2. クラス固有のすべての実装のユース ケースを示す ?print およびその他の汎用関数のドキュメントをエミュレートするにはどうすればよいですか (つまり、?print が「factor」、「table」、「function」の使用法を示す方法)。

  3. wiki ページから: 「すべてのエクスポートされたメソッドには @S3method タグが必要です。@method と同じ形式です。これは、関数ではなくメソッドをエクスポートします。つまり、generic(myobject) は機能しますが、generic.mymethod(myobject) は機能しません。 ."
    私はこれを解釈することはできません。これは、タグが正しく指定されていないと、関数/メソッド呼び出しが正しく機能しないということですか? 具体的にどこが壊れるの?

    MyHappyFunction = function( x , ... ) { UseMethod( "MyHappyFunction" ) }

    MyHappyFunction.lm = 関数( x , ... ) {

    魔法をかける

    }

0 投票する
2 に答える
318 参照

r - Roxygenを使用したR.ooクラス/メソッドの文書化

誰かがRoxygenでR.ooクラス/メソッドを文書化する良い例を教えてもらえますか?R.ooでは、クラス/メソッドはsetConstructorS3()およびsetMethodS3()の呼び出しによって作成されるため、それ自体を文書化する関数はありません。標準のRoxygen関数のドキュメントを作成するだけで、NULLステートメントの上に配置しますか?

0 投票する
2 に答える
10444 参照

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

これがRoxygen2の将来のバージョンでどのように行われるべきか、または行われるかについて、SOや他の場所でいくつかの議論を見てきました。しかし、私は立ち往生しています。Roxygen2を使用して、S4ジェネリックとそのメソッドを文書化するにはどうすればよいですか?まったく新しいジェネリック/メソッドの実用的な例、およびベースS4ジェネリックを拡張するための例は非常に役立ちます。同じジェネリックのS4メソッドごとに個別の(ほとんど)冗長なドキュメントを作成する必要はありません。

デューデリジェンス:「抽出」方法の有用な例を追跡しました。しかし、私の質問では時代遅れで不完全なようです。クラスのドキュメントで@slotタグを使用しますが、これは(もはや?)サポートされていません。これは、S4ジェネリックのドキュメントを含む完全なRoxygenの例ではなく、コアS4メソッド「[」の拡張のみを示しています。

roxygenを使用してS4"["および"[<-"メソッドを適切に文書化する方法は?

タイトル、説明を使用して新しいS4ジェネリックを完全に文書化し、@param @return @name @aliases @docType @rdname次に対応するだけを使用してS4メソッドを文書化すると@name @aliases @docType @rdname、次のR CMD check警告が表示されます。

最初は、roxygen2を使用してこの方法で文書化された私のS4メソッドのいずれも実際には機能しなかったかのように見えました。ただし、これまでのところ、コアメソッド「show」の拡張機能には、他のメソッドとまったく同じ方法で文書化されていても、関連するエラーがないことに気づきました。これは、showメソッドの1つの上に含めた、ドキュメントの欠落エラーを生成しなかった完全なroxygenドキュメントの例です。

したがって、私は途方に暮れています。ご覧のとおり、RパッケージマニュアルのS4ドキュメントセクションで説明されているS4メソッドのエイリアスの規則を含めました。つまり、メソッドには次の名前(スペースなし)のエイリアスが必要です。

どういうわけか、これはによって完全に理解されていませんR CMD check

最後に、以下を使用してドキュメントを作成した後:

パッケージをビルドすると、機能するドキュメントが得られます。特定のメソッドのドキュメントのタイトルは、「説明」フィールドに表示されますが、かなり厄介です。したがって、roxygen2は明らかに各メソッドのドキュメントで何かを行い、正しい方向に進んでいます。ただし、からの大きくて厄介な警告を回避するだけでは十分ではありません。

私はRdファイルを見てきましたが、問題が何であるかをすばやく確認するためにそれらについてはさらに詳しく知りません。とにかく、ドキュメントの改訂の直後にRdファイルを操作する必要がないように、roxygen2ソリューションを知りたいと思います。

したがって、これは複数の部分からなる質問です。

  1. roxygen2を使用したS4ジェネリックとS4メソッドの両方のドキュメントに現在推奨されているアプローチは何ですか?

  2. 完全な詳細を示す良い例がどこかにありますか?

  3. ほとんどのS4メソッドのドキュメントが欠落しているという警告の原因と解決策は何でしょうか(ドキュメントが「欠落している」メソッドは実際にroxygen2によってドキュメントが解析されており、結果のRdファイルは少なくとも十分に機能します)後のパッケージでR CMD build mypkgname)?

0 投票する
3 に答える
14061 参照

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

roxygen(2) を使用してクラスを文書化する場合、タイトルと説明/詳細を指定することは、関数、メソッド、データなどと同じように見えます。ただし、スロットと継承はそれ自体が一種の動物です。roxygen2 で S4 クラスを文書化するためのベストプラクティス (現在または計画中) は何ですか?

適当な注意:

@slotroxygen の初期の説明でタグ の言及を見つけました。2008 年の R-forge メーリング リストへの投稿 は、これが死んでいることを示しているようで@slot、roxygen ではサポートされていません。

これはroxygen2に当てはまりますか?前述の投稿では、代わりにユーザーが LaTeX マークアップを使用して独自の項目別リストを作成することを提案しています。たとえば、クラスを拡張する新しい S4 クラスは、次の"character"ようにコーディングおよびドキュメント化されます。

ただし、これは機能しますが、スロットを文書化するためのこのアプローチは\describe\itemで区切られた@タグがなく、スロットが文書化されず、roxygenize(). また、定義されているクラスの継承を文書化する一貫した方法についても何も述べていません。@importタグを使用すると、依存関係は一般的に正常に機能すると思います(特定のスロットが別のパッケージの非基本クラスを必要とする場合) 。

要約すると、roxygen(2) スロットの現在のベストプラクティスは何ですか?

現時点では、次の 3 つのオプションを検討する必要があるようです。

  • A -- 項目別リスト (上記の例のように)。
  • B -- @slot... しかし、余分なタグや実装を見逃していました。上記の例の項目別リストの代わりとして @slot が含まれていたバージョンでは、@slot を roxygen / roxygen2 で動作させることができませんでした。繰り返しますが、上記の例は roxygen(2) で機能します。
  • @paramC --同じことを達成する、スロットを指定するための代替タグ ( など)。

githubroxygen2の開発ページに作成した投稿からこの質問を借用/拡張しています。

0 投票する
2 に答える
915 参照

r - roxygen2 "エラー: タイトルには値が必要です"

roxygenize()理解できないというエラーが表示されます。roxygen を介して .Rd ファイルが生成されるさまざまな関数のパッケージがあります。

エラーは です。これは、タグError: titlerequires a valueがないことを示しています。@titleただし@title、ファイルにタグがあるkmmisc-package.Rため、何が問題なのかわかりません。

kmmisc-package.R内容:

CRANから再インストールしたばかりのroxygen2 2.1でR 2.13.2を使用しています。完全なものはhttps://gist.github.com/1268056sessionInfo()の要点にあります

編集

@andrieの提案で、私は今持っています

これはまだ同じエラーを生成しています。