205  チャンクオプションの解説

ここでは、チャンクオプションと呼ばれる、Rのスクリプトの実行結果に色々と影響を及ぼす設定について解説していきます

example3.Rmd
---
title: "Example"
author: "Nishida Norimitsu"
date: "2021/5/20"
output: html_document
editor_options: 
  chunk_output_type: console
---

## チャンクオプション

さて、ここからはチャンクオプションについて話をすすめていきます。

Rのコードチャンクの素の状態は次のような形です。

::: {.cell}

```{.r .cell-code}
1 + 5
[1] 6

:::

ここに、

1 + 5
[1] 6

のように、チャンクに名前(label)をつけることが可能です。

名前をつけておくと、Knitをした場合にどこの処理をしているか、表示してくれるので便利です。ただし、名前が重複すると、エラーになるので注意してください。また、この名前はKnit後の文書には表示されません。

labelの他にも、「設定=」という形で次のように記載すると、そのチャンクの挙動を色々とコントロールできます。この設定のことを、チャンクオプションといいます。

ここでは、代表的なチャンクオプションをいくつかご紹介しましょう。

205.0.1 echo

echoは、RのスクリプトをKnit後のファイルに表示するか表示しないかを決定します。

#スクリプトのはじまり。
print("echo=TRUE のチャンクで実行")
[1] "echo=TRUE のチャンクで実行"
#スクリプトの終わり

上のように、echo=TRUEとしている場合は、スクリプトが表示されていますが、

[1] "echo=FALSE のチャンクで実行"

echo=FALSEとすると、表示されていません。

205.1 message

messageは、Rのスクリプトで色々と表示されるメッセ-ジを抑制するかどうかを設定できます。

まずは、message=FALSEの場合は

print("message=FALSEのチャンクで実行")
[1] "message=FALSEのチャンクで実行"
library(tidyverse)
ggplot() + 
  geom_histogram(aes(x = c(1:100)))

こんな感じです。 次に、message=TRUEだとこんな感じです。

print("message=TRUEのチャンクで実行")
[1] "message=TRUEのチャンクで実行"
library(tidyverse)
ggplot() + 
  geom_histogram(aes(x = c(1:100)))
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

message=TRUEだと、

stat_bin() using bins = 30. Pick better value with binwidth.

というggplotでヒストグラムを描画するときのメッセージが表示されていますが、FALSEにするとそれが表示されません。

205.2 warning

Rのコンソールに表示される文字は、messageの他にも、警告(warning)もあります。warningシャンクオプションは、この警告も消すことが可能です。

warning=FALSEの場合は、

as.numeric(c(1,"a"))
[1]  1 NA

で、TRUEとすると、

as.numeric(c(1,"a"))
Warning: NAs introduced by coercion
[1]  1 NA

となります。 これらのチャンクオプションは組み合わせること も可能です。

205.2.0.1 echo=TRUE, warning=TRUE, message=TRUE

print("echo=TRUE warning=TRUE, message=TRUE")
[1] "echo=TRUE warning=TRUE, message=TRUE"
as.numeric(c("a","1"))
Warning: NAs introduced by coercion
[1] NA  1
ggplot()+geom_histogram(aes(x=1:100))
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

205.2.0.2 echo=FALSE, warning=TRUE, message=TRUE

[1] "echo=FALSE warning=TRUE, message=TRUE"
Warning: NAs introduced by coercion
[1] NA  1
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

205.2.0.3 echo=TRUE, warning=FALSE, message=FALSE

print("echo=TRUE warning=FALSE, message=FALSE")
[1] "echo=TRUE warning=FALSE, message=FALSE"
as.numeric(c("a","1"))
[1] NA  1
ggplot()+geom_histogram(aes(x=1:100))

205.2.0.4 echo=FALSE, warning=FALSE, message=FALSE

print("echo=FALSE warning=FALSE, message=FALSE")
[1] "echo=FALSE warning=FALSE, message=FALSE"
as.numeric(c("a","1"))
[1] NA  1
ggplot()+geom_histogram(aes(x=1:100))

以上、チャンクオプションの設定についてでした。ちなみに、ここまで手入力前提で解説してきましたが、実は右上のところにボタンポチポチクリックすると調整できるメニューがあったりしますので、慣れないうちはこっちを利用することをおすすめします。 ```