このページの内容を初めて読むときは、\(\ast\) が付いている項目は飛ばして良い(少し上級向けの内容)。

準備

Rマークダウン (R Markdown、拡張子は.Rmd) ファイルはRStudio で編集する。編集したファイルをHTML(またはPDF) に出力するために、rmarkdown::render()knitr::knit() を利用する。これらがインストール済みでない場合はインストールし、パッケージを読み込む。


Rマークダウンの使い方

マークダウンファイル (r-markdown.Rmd) とそのファイルを元に生成されたhtmlファイル(インターネットブラウザで読んでいるこのファイル)(r-markdown.html) を見比べながら、RStudioでRマークダウンファイルを扱えるようにするのが今日の目標である。

このマークダウンをそのまま使うためには、担当教員が作ったスタイルシート(my-markdown.css)をプロジェクトのフォルダに保存する必要がある。 スタイル(表示されるページの見た目)をカスタマイズしたいときは、このファイルを変更すればよい。デフォルトのスタイルのままでいいとき(あまり良くないと思うが)は、ヘッダの’css’オプションの指定をやめる(このRmdファイル [htmlではない] のヘッダ部分にある “css: my-markdown.css” の行を削除する)。

マークダウン記法を利用した文書の書き方

文章は、いつもどおり書けばよい。 文章の一部をイタリック(斜字体)にしたいときは、イタリックにしたい部分を * または _ で挟むと、this is italic あるいは this is also italic となる(日本語は斜字体にしない)。 太字は、**(*を2つ) または __(_ を2つ)で挟むと、ここが太字 または ここも太字 となる。 太字のイタリックは、*** (*を3つ)または ___(_を3つ)で挟むと、here is bold italic または here is also bold italic となる。

改行するときは、文章の間を1行以上空ける。

箇条書きは、* または _ を利用し、

  • 項目1
  • 項目2
    • 項目2-1
    • 項目2-2

あるいは、

  • 項目1
    • 項目1-1
    • 項目1-2
  • 項目2

のようにできる。* や - の後には半角スペースを挿入する。箇条書きを入れ子にするとき、字下げは Tab で行う

番号付きの箇条書きは、数字で作れる。

  1. First item
  2. Second item
    1. What?
    2. How?
  3. Third item

のようにする。

ヘディング (heading) は、“#” (ハッシュ記号) で作れる。# の数が少ないほど、上位のヘディングになる。

ハッシュ1つのヘディング

ハッシュ2つのヘディング

ハッシュ3つヘディング

ハッシュ4つのヘディング

また、リンクを貼ることもできる:矢内のウェブサイト

画像も貼れる:いらすとやの猫

(出典:いらすとや

\(\ast\) 数式の書き方

LaTeX と同じように数式を書くこともできる。 文章中と同じ行に数式を書きたいときは、$で挟む。 たとえば、\(\bar{x} = \sum_{i=1}^n x_i / n\) と、する。 数式を独立したブロックとして書きたいときは、$$で挟み、 \[\sigma^2 = \frac{\sum_{i=1}^n (x_i - \mu)^2}{n}\] のようにする。

コードチャンクの書き方

Rのコードは、コードチャンクと呼ばれる部分に書き込む。 コードチャンクは、たとえば以下のように書ける。

Rコードチャンクの始めには、3つの「`」の後に{r}をつける。 rとスペースの後({}の中)には、チャンクの名前を付ける。 好きな名前を付けてよいが、他のチャンクとまったく同じ名前は付けられない。 チャンクの終わりには3つの「`」を書く。

文章中にRコードを書きたいときはmean(x) のように、Rのコマンドを`の間に書く。 関数を実行(評価, evaluate)した後の結果を文章中に入れたいときは、「$a$ の平均値は ` r mean(a) ` です」のように“r”を入れて書くと、「\(a\) の平均値は5.5 です」となる。つまり、mean(a) をRが計算し、その結果を文章の中に入れてくれる。この方法を使えば、文章と別にRのコマンドを実行しなくても、Rの実行結果を表示することができる。

図を含めた文章も作れる。

何もオプションを指定しない状態では、チャンクは1行ずつ評価され、結果も順番に次々出力される。 たとえば、

## [1] 0.9857235
## [1] 0.9716508

チャンクの最後まで評価してからまとめて結果表示したいときは、チャンクオプションresults を’hold’にする。 オプションは、チャンク名の後に「,(comma)」を打ち、その後に書く。 例えば、``` {r example-option, results=‘hold’} とチャンクの冒頭に書くと、

## [1] 0.9857235
## [1] 0.9716508

となる。

チャンクオプションについてより詳しくは ココ などを参照されたい。

また、Rマークダウン全般(特に、RStudioを使う場合)については、ココ を参照。

Rマークダウンのチートシート(PDFファイル)もあるので、ダウンロードして持っておくと便利である。RとRStudioに関連するチートシートはココ にまとめて置いてある。


R MarkdownファイルをHTMLファイルに出力する

R Markdown を HTML ファイルに出力するときは、rmarkdown::render()を使う。

HTML ファイルに変換する際のオプションは、ヘッダ部分で指定する。このRmdファイル(HTMLファイルではない。つまり、ウェブブラウザで見ている場合の表示されていない) では、第1行から第14行までがヘッダであり、そのうち、“html_document:” のブロックでHTML出力のためのオプションが指定されている。例えば、“toc: yes” は目次 (table of contents; toc) を表示するという指定である。非表示にするには “toc: no” とする。

試しに、“r-markdown.Rmd” を “r-markdown.html” に変換してみよう。 Rmd ファイルをRStudio で編集している場合、コード編集画面の上にある “Knit” ボタン(毛糸と棒針のマーク)を押してもHTMLファイルを作れる。

出力されたHTMLファイルは(他のディレクトリを指定しない限り)現在の作業ディレクトリ(プロジェクトのフォルダ)に保存される。 出来上がったHTMLファイルをブラウザで開いて確認してみよう。

コマンドを使ってHTMLファイルを作るときは、rmarkdown::render() を使う。

run_pandoc = FALSE を指定しないと日本語が文字化けするので注意が必要である(ボタンを押して変換するときは心配しなくてよい。今はボタンで変換できればよい)。



授業の内容に戻る