問題タブ [roxygen]
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 - Roxygen でファイルを無視する
私はパッケージの作成/管理にまったく慣れていない (そして学びたくない) ので、些細なことを尋ねている場合はすみません。しかし、私は に精通しており、同様の機能がin にgit
あるかどうかを知りたい. を使用しているので、多くの場合、バックアップ ファイル ( ) が多数あります。これらのファイルは、 で取得および処理されます。もちろん、よりエレガントな方法でそれをスキップしたいと思います-今、私は厄介なバックアップをフラッシュするシェルスクリプトを持っています...しかし、私はそれらを必要とし、インストール時にそれらを無視したいだけです..gitignore
roxygen
ESS
*~
R CMD roxygen
find anolyzer/ -name "*~" -exec rm {} \;
免責事項: 学びたくない=長いマニュアルをくまなく読みたがらず、きちんとした、迅速で汚いワンライナーを切望している
「不本意」の部分を強調したジョン・マイルズ・ホワイトの功績
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 - Roxygen2スタイルのドキュメントで「@」をエスケープする
メールアドレスを書きたいコメントブロックがあるとしましょう。roxygenがそれをディレクティブではなくテキストとして扱うように、「@」記号をエスケープするにはどうすればよいですか?
r - roxygenを使用したセッター機能の文書化
attr
Rオブジェクトに固有の広告を出すだけの機能があります。基本デモ:
これは、適切なRdファイル、関連部分を生成することを除いて、魅力のように機能します。
そしてもちろん、実行中に警告をトリガーしR CMD check
ますfoo(var) <- value
。
どんなヒントも本当に感謝されるでしょう!
更新: richierocksのおかげで、修正があるようです
r - 同じパッケージでシミュレートの s3 および s4 メソッドを使用する R
エラーで困っています
S3 メソッドとして、simulate() メソッドの定義を含む R パッケージを作成しました。シミュレートのジェネリックは既に定義されているため、 simulate.myclass (私の場合は simulate.fitContinuous) を定義するだけです。
このパッケージは、シミュレートの S4 バージョンを含む別のパッケージにも依存しています。パッケージをロードすると、上記の S4 バージョン エラーが発生します。何がエラーを生成しているのかわかりません。
github からパッケージを取得するか、実行することによる再現可能な例
このエラーを最初から再現するには: 最小限の DESCRIPTION ファイルで新しいパッケージを作成します。説明のインポートを含めます: 痛い。NAMESPACE を作成し、imports(ouch) と S3method(simulate, test) を追加します。R ディレクトリを作成し、簡単な R スクリプトを追加します (前述の名前空間を生成する roxygen のドキュメントを含めましたが、このエラーは devtools/roxygen がなくても作成される可能性があります)。
パッケージをインストールすると (必要に応じて最初に devtools をドキュメント化してください)、エラーが発生します。
これまでの私の最善の解決策は、NAMESPACE から S3method 行を削除し、代わりに完全な関数の simulate.test をエクスポートすることです。これは警告なしでチェックとインストールに合格しますが、明らかに劣ったソリューションです。
別の解決策は、インポートと同様に依存関係を持ち、S3 メソッドを適切に文書化することです (上記のように)。その後、すべてが期待どおりに機能しますが、警告メッセージは残ります。
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 - Rのroxygenドキュメントで引用符をエスケープする
ドキュメントに引用符をエスケープする必要のあるR関数の例があります。
(または、少なくとも私は引用を逃れるのを避けるのに十分賢くない)。このコマンドはRで正しく機能しますが、roxygenize/document関数はこれをダブルエスケープに変換します
.Rdファイル内。これを回避するにはどうすればよいですか?
r - Roxygenで文書化する場合:@detailsで項目別リストを作成するにはどうすればよいですか?
たとえば、@ detailsセクションで、項目別リストをroxygen2に追加するための適切な構文は何ですか?ラテックスリスト環境を作成できますか?
改行は単に無視されているようです。
ありがとう!