Rのヘルプページで「実行されない」とはどういう意味ですか?


112

Rのヘルプページで、コメントに「実行されない」というフレーズが表示されることがあります。「with()」のヘルプページからこれをチェックしてください:

Examples
require(stats); require(graphics)
#examples from glm:
**## Not run:** 
library(MASS)
with(anorexia, {
    anorex.1 <- glm(Postwt ~ Prewt + Treat + offset(Prewt),
                    family = gaussian)
    summary(anorex.1)
})
## End(**Not run**)

サンプルコードで「実行されない」とはどういう意味ですか?


32
関連するヒントです。「example(glm)」を発行して、サンプルコードを実行できます。
Eduardo Leoni

4
それは良いヒントです。そして、私は、Rユーザーの大多数がそれを認識していないことは間違いないでしょう。
Dan Goldstein、

1
ただし、example(fn)はまだラップされたサンプルコードではないことに注意してくださいdontRun
tim

run.dontrunパラメータをTRUE
Moody_Mudskipperに

回答:


77

「実行しない」は、example関数内で実行してはならないコード(時間のかかるコード部分、ユーザー操作など)を囲みます。

例を参照してください?example

マニュアルのR拡張の記述で詳しく説明されているように、ヘルプページの作成者は、2つの例外ルールの例の一部をマークアップできます。

  • 'dontrun'は、実行してはならないコードを囲みます。

  • 'dontshow'は、ヘルプページには表示されないが、パッケージチェックツールと 'example()'関数の両方によって実行されるコードを囲みます。これは以前は「テスト専用」でしたが、そのフォームはまだ受け入れられています。


3
...この機能についてどうして知りませんでしたか?
マットパーカー

5
\ dontrun {}の内部に配置されるのは、時間のかかるコードだけではありません。ユーザー入力を必要とするコードは、dontrun内にある必要があります。そうでない場合、パスしませんR CMD check
Dason

2
または、ユーザーのマシンにインストールされていない可能性のあるパッケージに依存するコード。\ dontrun {}を使用する理由はたくさんあります
Jason

25

「書き込みR拡張」マニュアル、\例のセクションで{...}と言われています

\ dontrun {}は表示するだけで実行されないテキストに使用でき、\ dontshow {}はユーザーには表示されないがexample()で実行されるテスト用の追加コマンドに使用できます

パッケージをビルドすると、\ dontrun {}クロージャーのすべてのコードがヘルプとして表示されます。

## Not run:
...
## End(**Not run**)

編集:この回答は以前のものです。


15

これは\donttest{}、@ hadleyのR Packagesから追加され、そのまま使用されます。

ただし、説明のために、エラーの原因となるコードを含めると便利な場合があります。\dontrun{}使用されないコードをサンプルに含めることができます。他に2つの特別なコマンドがあります。\dontshow{}は実行されますが、ヘルプページには表示されません。これは非公式のテストに役立ちます。\donttest{}例では実行されますが、R CMDチェックでは自動的には実行されません。これは、実行に時間がかかる例がある場合に役立ちます。オプションを以下にまとめます。

Command      example    help       R CMD check
\dontrun{}                 x
\dontshow{}       x                          x
\donttest{}       x        x

2
donttestがテストされていることに注意してください
タイラーリンカー

1
パッケージの提出については、コードブロックの省略を正当化する.Rdにコメントを追加する必要がありますか?\ donttest {}の例が原因でパッケージの失敗チェックがあり、\ dontrun {}に変更するのが簡単かどうか疑問に思っています。関数はFTPからデータをダウンロードするためのもので、CRANコメントは「.Rdファイルではコメントされていません。example()がこれらのセクションを実行することに注意してください」です。
Jeffrey Evans

はい、それはそれほど単純なはずです。
タイラーリンカー、2015年

@TylerRinkerつまり、関数が動作することが検証されているか、または@donttest {}のコードがチェック時にCRANによって実行されていますか?
2015

2
はい、Hadleyの本からの引用をここに示します:「説明のために、エラーの原因となるコードを含めることはしばしば役立ちます。\ dontrun {}を使用すると、実行されない例にコードを含めることができます(以前は同様の目的で\ donttest {}を使用できますが、実際にテストされているため、お勧めしません。) "
タイラーリンカー

5

必読の第5.4章(Rドキュメントファイル)のC&p 必読のRパッケージの作成の Friedrich Leischによるチュートリアル

例のセクションには実行可能なRコードが含まれている必要があり、コードの自動実行はパッケージのチェックの一部です。例には2つの特別なマークアップコマンドがあります。

dontrun:\ dontrun {}内のすべては、テストまたはexample()によって実行されません。これは、たとえば、インタラクティブな機能、インターネットにアクセスする機能などに役立ちます。実行できない例を挙げて、使いやすくするために誤用しないでください。


3

ここでの正規の例は、次のヘルプページにありますrm

## Not run: 
## remove (almost) everything in the working environment.
## You will get no warning, so don't do this unless you are really sure.
rm(list = ls())

## End(Not run)

これが実行された場合、もちろん望ましくない影響があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.