16.2 外部スクリプトをチャンク内で読み込む
16.1節で紹介した source()
の方法には欠点があります. それはデフォルトではソースコードを見ることができないという点です. source(..., echo = TRUE)
を使うことはできますが, ソースコードのシンタックスがきちんとハイライトされません. 加えて16.1節で言及したように, source()
の local
引数について注意を払う必要があります. この節ではこういった問題のない代わりになる方法を紹介します.
1つでも外部スクリプトがあれば, 基本的にはそれを読み込んで中身を, チャンクの file
オプション から渡すことができます. file
オプションはファイルパスの文字列ベクトルをとります. 以下に少しだけ例をお見せします.
ある外部ファイルを読み込める状態とします.
````md
```{r, file='your-script.R'}
```
````
好きな数だけスクリプトを読み込むことができます:
```{r, file=c('one.R', 'two.R')} ```
他の言語のスクリプトも読み込めます. R Markdown で他の言語を使う方法は15章を確認してください. 以下に, もう少しだけ R 以外のコードの例をお見せします.
Python スクリプトを読み込む.
```{python, file='script.py'} ```
C++ ファイルを読み込む:
```{Rcpp, file='source.cpp'} ```
file
オプションがあれば, お気に入りのエディタ使って複雑なコードを開発した上で, それを R Markdown 文書のコードチャンクに読み込ませるということができます.