問題タブ [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.
r - Roxygen2は、デフォルトのパラメータ値に\nを導入します。Codocの不一致を引き起こします
私はこの投稿の反対の問題を抱えています。roxygenが\n
デフォルトのパラメータ値に導入されているため、RCMDチェックが警告されているようです。
これが私の関数定義です:
そしてここに警告があります:
ここで何かが足りませんか?
r - roxygen2 タグ @inheritParams を使用する場合の .Rd ファイルでの引数の説明の順序
1つを除いてまったく同じ引数を持つ2つの関数を含む小さなRパッケージを書いているとしましょう。以下に例を示します。
最初の関数の roxygen2 ドキュメントでは、次のタグを使用しています。
2 番目の関数では、次のタグを使用します。
コードを roxygenize で処理した後、関数 fct2 の .Rd ファイルは次の順序で引数を示します: p、r、K。 p, K. .Rd ファイルを手動で変更せずにこの順序を取得するにはどうすればよいですか?
コピーと貼り付けを避けるために @inheritParams を使用することを主張します。
ありがとう!
r - Roxygen を使用して useDynLib を追加する
roxygen2 パッケージを使用して、パッケージを roxygen ドキュメントを使用するように変換しています。現在、パッケージが読み込まれません。これは、namespace ファイルに useDynLib(mypackage) 呼び出しがないためだと思います。これを生成するにはどうすればよいですか?
r - roxygen2 は "Imports:" パッケージの NAMESPACE ディレクティブを自動的に書き込みますか?
私の質問のtl; drバージョン
パッケージをインポートしたい場合import()
、NAMESPACE ファイルにディレクティブを手動で書き込む必要がありますか? 説明に「インポート:」としてリストされていても、roxygen2 は魔法のようにそれをしないようです。
フルバージョン
これはかなりばかげた質問ですが、答えが私には明らかではないので質問します。
Rパッケージのドキュメントroxygen2
を処理するために使用します。関数がエクスポートされていることを確認したい場合は、roxygen ブロックにタグを追加します。の後続の実行では、それに応じて NAMESPACE ディレクティブが書き込まれます。@export
roxygenize()
しかし、私のパッケージは現在、他のいくつかをインポートしています:
は、エクスポートされた関数の NAMESPACE ディレクティブをroxygen2
書き換えますが、DESCRIPTION でインポートする必要があると指定したパッケージを反映するように NAMESPACE を自動的に書き換えることはないようです。
r - roxygenを使用したセッター機能の文書化
attr
Rオブジェクトに固有の広告を出すだけの機能があります。基本デモ:
これは、適切なRdファイル、関連部分を生成することを除いて、魅力のように機能します。
そしてもちろん、実行中に警告をトリガーしR CMD check
ますfoo(var) <- value
。
どんなヒントも本当に感謝されるでしょう!
更新: richierocksのおかげで、修正があるようです
r - testthat テストまたは run_examples() で R パッケージ データを使用することは可能ですか?
devtools、testthat、および roxygen2 を使用して、R パッケージの開発に取り組んでいます。データ フォルダー (foo.txt と bar.csv) にいくつかのデータ セットがあります。
私のファイル構造は次のようになります。
「foo」と「bar」が正しく文書化されていると確信しています:
ドキュメントの例と単体テストで「foo」と「bar」のデータを使用したいと思います。
たとえば、次を呼び出してテストするテストでこれらのデータセットを使用したいと思います。
そして、ドキュメントの例を次のようにしたいと思います。
パッケージの開発中に data(foo) を呼び出そうとすると、「data set 'foo' not found」というエラーが発生します。ただし、パッケージをビルドしてインストールし、ロードすると、テストとサンプルを機能させることができます。
私の現在の回避策は、例を実行しないことです。
テストでは、ローカル コンピューターに固有のパスを使用してデータを事前に読み込みます。
これは理想的とは思えません。特に私は他のユーザーと共同作業を行っているため、すべての共同作業者が 'foo' と 'bar' への同じフル パスを持っている必要があります。さらに、ドキュメントの例は実行できないように見えますが、パッケージをインストールすると実行できます。
助言がありますか?どうもありがとう。
r - Roxygen2を使用して一般的なエイリアスなしでクラス固有のエイリアスを追加するには?
show
簡単な例として、S4 ベース メソッドであるへの拡張機能を作成しました。show
パッケージに再ドキュメント化することで明確化フォークを引き起こしたくありません。また、 のエイリアスを追加して、拡張機能show
のドキュメントを新しいクラス のドキュメントに統合したいと考えています。myPkgSpClass
show,myPkgSpClass-method
私が抱えている問題は、このパッケージRd files with duplicated alias 'show':
には複数のクラス拡張がshow
あり、roxygen2 がすべてのエイリアスのリストに一般的な用語を自動的に追加したため、roxygen2 によるドキュメントのビルド中に重大な警告が発生することです。関連*-class.Rd
ファイル:
しかし、どのインスタンスにもジェネリック エイリアスは必要ないと思います。これはshow
、パッケージ内と base の間のあいまいさを解消する必要があるためshow
です。この問題は、 以外の他のパッケージから拡張された他の S4 メソッドにも適用されますshow
。
すべてのクラス固有のメソッドを同じファイルにタグ付けすると、警告は消えますが、そのドキュメント エントリに対してエイリアスが自動的に追加される.Rd
ため、あいまいさが残ります。ファイルからshow
手動で削除すると、問題は解決したように見えます.roxygenまたは. では、Roxygen2 にジェネリック エイリアスを追加しないようにするにはどうすればよいでしょうか。\alias{show}
.Rd
R CMD check pkgname
その他の背景:
これは、S4 拡張機能を基本メソッドにエクスポート/文書化するための以前の問題から構築された特定の質問です: Is it need to export base method extensions in an R package? ドキュメンテーションへの影響?
これは、Roxygen2 を使用した S4 メソッド / クラスの文書化に関する次の質問よりも具体的であり、カバーされていません。
r - Rscriptバッチファイルからroxygenize関数を呼び出せません
roxygen2を使用してパッケージを自動的にroxygenizeするスクリプトを作成しています。パッケージを準備してインストールするためのより大きなスクリプトの一部となるように実行可能にしたいのですが、何らかの理由でRscriptで動作させることができません。
コードは次のとおりです。
これは、インタラクティブなRセッションを開始した場合、またはRCMDBATCHを使用してコードを送信した場合に正しく機能します。ただし、スクリプトをRscriptを介して実行可能ファイルとして直接実行すると、この出力とエラーが発生します(スクリプトが現在のディレクトリにあるかbinにあるかに関係なく、エラーが発生します)。
setPackageNameはベースRにあるように見えるので、なぜそこにないのかわかりません。さらに、私は他の多くの状況でRscriptを使用していますが、これが失敗する唯一の場所のようです。
どんな助けでも大歓迎です。
r - Rのroxygenドキュメントで引用符をエスケープする
ドキュメントに引用符をエスケープする必要のあるR関数の例があります。
(または、少なくとも私は引用を逃れるのを避けるのに十分賢くない)。このコマンドはRで正しく機能しますが、roxygenize/document関数はこれをダブルエスケープに変換します
.Rdファイル内。これを回避するにはどうすればよいですか?
r - R ヘルプ ファイル/roxygen2 で方程式を相互参照する方法
私は、作成中の R パッケージの関数の一部を文書化しているところです。
私は roxygen マークアップを使用していますが、それは私の質問とはほとんど関係ありません。
を使用してドキュメントに方程式を入れました\deqn{...}
。私の質問は
、この方程式を後で相互参照する方法はありますか?
たとえば、私の Rd ファイルでは次のようになります。
後で次のようなことができますか:
方程式 \ref{test} を参照すると、...
\eqref{test}
、\ref{test}
(「不明なマクロ」を取得し、リンクされていない)、および(実際には他の関数にリンクするためだけに\link{test}
機能が見つからないことを訴える)も試しました。test
そうしないと、何かハックなことをして、Rd ファイルの etc 内に-- (1)
手動Refer to equation (1)
で追加する必要があるのではないかと心配しています...\deqn
アップデート
一般的な答えは「いいえ」のようです。(あぁ…)
ただし、ビネットを作成して、そこで「通常の」ラテックス/パッケージを使用することはできます。いずれにせよ、roxygen/Rd ファイルに何年もかけて入力した行列方程式?myFunction
が、ヘルプのバージョンでは見栄えが悪いことに気付きました (ほぼ文字通りのラテックス ソースとして表示されます)。PDF版のヘルプでは美しく見えるので、これは残念です。
@Iterator はconditional textの存在を指摘したので、.Rd ファイルでは ASCII 演算を行いますが、PDF マニュアル/ビネットでは Latex 演算を行います。