web-dev-qa-db-ja.com

R:コードブロックをコメントアウトする

可能性のある複製:
R:複数行コメントの回避策?

Rのコードのいくつかの行をコメントアウトしたいです。各行の前に#を付けずにそれを行う方法はありますか?SASの/* blocked out code */のようなものですか?

69
user702432

ほとんどのエディターは、コードのブロックをコメントアウトするための何らかのショートカットを使用します。デフォルトのエディターは、コマンドやコントロール、単一引用符などを使用して、選択したコード行をコメント化します。 RStudioでは Command または Control+/。エディターをチェックインします。

行ごとにコメントを付けていますが、選択した行のコメントも外します。 Mac RGUIの場合、コマンドオプション '(Windowsがコントロールオプションであると考えています)。 Rstudioの場合はただ Command または Control + Shift + C 再び。

これらのショートカットは、エディターが更新され、さまざまなソフトウェアが最も人気のあるRエディターになるにつれて、時間とともに変化する可能性があります。あなたが持っているどんなソフトウェアでもそれを調べなければなりません。

61
John

一種のブロックコメントでは、ifステートメントを使用します。

if(FALSE) {
  all your code
}

動作しますが、ほとんどの場合、エディター(RStudio、Kate、Kwrite)のブロックコメントオプションを使用します。

52
Paul Hiemstra

未使用の関数でラップします。

.f = function() {

## unwanted code here:

}
27
mdsumner

私はRStudioまたはEmacsを使用し、リージョンのコメントに使用できるエディターショートカットを常に使用します。これが不可能な場合は、Paulの答えを使用できますが、これはコードが構文的に正しい場合にのみ機能します。

ここに私が思いついた別の汚い方法があり、それをscan()でラップして結果を削除します。コメントをメモリに短時間保存するため、おそらく非常に大きなコメントでは機能しません。それでも最善の方法は、#記号をすべての行の前に置くことです(おそらく、エディターのショートカットを使用して)。

foo <- scan(what="character")
These are comments
These are still comments
Can also be code:
x <- 1:10
One line must be blank

rm(foo)
1
Sacha Epskamp

これは、talkstats.comのスレッドで見つかった94、101、103の投稿で対処しました: Share Your Code 。他の人が言ったように、Rstudioはより良い方法かもしれません。これらの関数を.Rprofileに保存し、実際に使用しますが、コード行を迅速に自動的にブロックします。

あなたが望んでいたほどニースではありませんが、アプローチかもしれません。

0
Tyler Rinker