11.12 テキストの先頭のハッシュ記号を消す

デフォルトでは R コードのテキスト出力の先頭には 2つのハッシュ記号 ## が付きます. この挙動はチャンクオプション comment で変更することができます. このオプションのデフォルトは "###" という文字列です. ハッシュを消したいなら, 空の文字列を使うことができます. これが例です.

```{r, comment=""}
1:100
```

もちろん, comment = "#>" などと他の文字列はなんでも使うことができます. なぜ comment オプションのデフォルトはハッシュ記号なのか? その理由は # が R ではコメントを意味するからです. テキスト出力がコメントアウトされていれば, レポートに掲載されたコードチャンクを全部まとめてコピーして自分で実行するのが簡単になり, テキスト出力が R コードとして扱われないということに悩むことがありません. 例えば以下のコードチャンクの4つの行のテキスト全てをコピーして, R コードとして安全に実行することができます.

1 + 1
## [1] 2
2 + 2
## [1] 4

comment = "" でハッシュ記号を消したなら, 2つ目と2つ目のコードを手動で消さなければならないため, 全てのコードをコピーして簡単に実行するということができなくなります.

1 + 1
[1] 2
2 + 2
[1] 4

comment = "" が好ましいという主張の1つには, テキスト出力が R コンソールのユーザーにとって見慣れたものになるという点です. R コンソールではテキスト出力の行の先頭にはハッシュ記号が現れません. 本当に R コンソールの挙動を模倣したいのであれば, comment = ""prompt = TRUE と組み合わせて使うことができます. これが例です.

```{r, comment="", prompt=TRUE}
1 + 1
if (TRUE) {
  2 + 2
}
```

ソースコードにプロンプト記号 > と行の継続を表す記号 + が含まれているので, 出力は R コードをタイプして実行するときのものにかなり近づいているはずです.

> 1 + 1
[1] 2
> if (TRUE) {
+   2 + 2
+ }
[1] 4