11.1 チャンクオプションに変数を使う
大抵の場合, 例えば fig.width = 6
のようにチャンクオプションは定数をとりますが, 簡単であるか複雑であるかに関わらず, 任意の R コードからの値をとることもできます. 特殊なケースはチャンクオプションに通せる変数です. 変数もまた R コードであることに注意してください. 例えば文書の冒頭で図の幅を変数で定義して, その変数を後の他のコードチャンクで使えば, それ以降の幅を簡単に変更できます.
```{r}
my_width <- 7
```
```{r, fig.width=my_width}
plot(cars)
```
以下はチャンクオプショで if-else
文を使う例です.
```{r}
fig_small <- FALSE # 大きい図に対しては TRUE に変更
width_small <- 4
width_large <- 8
```
```{r, fig.width=if (fig_small) width_small else width_large}
plot(cars)
```
さらに以下にもう1つの例として, 必要なパッケージが使用可能な場合のみコードチャンクを評価する (つまり実行する) ものを示します.
```{r, eval=require('leaflet')}
library(leaflet)
leaflet() %>% addTiles()
```
意図が分からない方のために説明しますと, require('package')
はパッケージが使用可能なら TRUE
を返し, そうでないなら FALSE
を返します.