Markdown文法の基礎

新しいタブで開く

1 Markdownによる文書構造

1.1 文字の装飾と強調

文章の一部を強調したい場合、以下のような記法が使えます。

  • 太字(Bold): ローマ字以外の強調に使います。
  • イタリック(Italic): ローマ字の強調に使います。
  • 取り消し線(Strike): 削除された情報を表現します。
  • 下線(Underline): HTMLタグを使って表現します。

1.2 リストの作成

1.2.1 順序なしリスト(箇条書き)

項目の並列な羅列に使います。インデント(字下げ)で階層化できます。

  • データ分析の準備
    • データの収集
    • データの整形
      • 欠損値の処理
      • 異常値の確認
  • 分析の実行

1.2.2 順序ありリスト(番号付き)

手順やランキングなど、順序が重要な場合に使います。

  1. RStudioを開く
  2. プロジェクトを作成する
    1. New Projectを選択
    2. ディレクトリを指定
  3. Quartoファイルを作成する

1.2.3 タスクリスト

進捗管理などに便利です。

1.3 リンクと脚注

外部サイトへの誘導にはリンクを使います。Quartoの公式ドキュメントなどは頻繁に参照します。 また、本文の流れを妨げずに補足情報を入れたい場合は、脚注を利用します1

識別子を使った脚注も可能です2


2 高度なレイアウト表現

2.1 表の作成

Markdownで表を作成するには、パイプ(|)とハイフン(-)を使用します。コロン(:)の位置で配置を指定できます。

表1: 成績一覧表のサンプル
ID 名前 スコア 備考
1 佐藤 95 右寄せ・左寄せの例
2 田中 82 強調も可能
3 鈴木 100 中央揃え

2.2 画像の埋め込みとサイズ調整

画像の表示サイズは widthheight オプションで制御できます。

標準サイズ:

R猫

サイズ指定(幅75pxに縮小):

小さくてかわいいR猫

2.3 数式の記述

レポートに数式を含める場合、LaTeX記法が使えます。

文中の数式(インライン):

回帰分析のモデルは \(y = \beta_0 + \beta_1 x + \varepsilon\) で表されます。

独立した数式ブロック(ディスプレイ):

\[ f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left( -\frac{(x-\mu)^2}{2\sigma^2} \right) \]

2.4 複数コンテンツのレイアウト

layout-ncol 属性を使うと、画像や表を横に並べて配置できます。比較を行う際に非常に強力です。

R猫零号機

R猫初号機

2.4.1 グループA

項目
平均 50
分散 10

2.4.2 グループB

項目
平均 65
分散 15

3 Rコードの挿入

Quartoの最大の特徴は、ドキュメント内でRのコードを実行し、その結果を直接ドキュメントに反映できる点です。

3.1 基本的なコード実行

以下は標準的なコードチャンクです。コードと結果の両方が表示されます。

# 1から10までの整数の合計を計算
x <- 1:10
sum(x)
[1] 55

インラインコード:

文章の中に計算結果を埋め込むこともできます。 例えば、計算された合計値は55です。

3.2 チャンク・オプション

目的に応じて、コードや結果の表示・非表示を切り替えられます。チャンクオプションはチャンクの最上段に#| オプション名: 引数の書き方で記入します。チャンク・オプションは複数指定することができます。

ケース1: 結果だけ見せたい (echo: false)

読者にコードを見せる必要がなく、グラフや表だけを示したい場合に使います。

正規乱数のヒストグラム(コードは非表示)

ケース2: コードだけ見せたい(eval: false

実行に時間がかかるコードや、解説用のコードを示す場合に便利です。

# このコードは表示されますが、実行はされません
install.packages("very_heavy_package")
start_simulation()

ケース3: コードと結果をまとめる(collapse: true

Rコンソールのように、コードと出力結果を一つのブロックにまとめます。

print("Hello, Quarto!")
## [1] "Hello, Quarto!"
mean(c(10, 20, 30))
## [1] 20

3.3 エラー処理

通常、コードにエラーがあると文書生成(レンダー)は止まりますが、error: trueを指定しておくと、エラーメッセージを表示して処理を続行します。デバッグ内容をレポートする場合に使います。

# 存在しない変数を呼び出してみる
print(undefined_variable)
Error:
! object 'undefined_variable' not found

4 チャンクの表示

```{r}の代わりに```{r}を使用すると、チャンクごとに表示されます。ただし、チャンク内のコードは実行されません。Quarto教育用の教材作成時以外はあまり出番がないかも知れません。

```{r}
print("Hello, Quarto!")
```

マークダウン文書のコードとチャンクを同時に入れるためには、されに````{.markdown}````で囲みます。

- マークダウンのコードを見せる。
- チャンクもそのまま見せる

```{r}
print("Hello, Quarto!")
```

5 図表の高度な配置

図のキャプション、参照、そして複雑なレイアウト設定について学びます。

5.1 図の参照とキャプション

チャンクオプションでfig-cap(キャプション)とlabel(ラベル)を設定すると、本文中で「図1を参照」のように自動採番付きで参照できます。

以下の 図 1 をご覧ください。

plot(cars, pch=19, col="darkorange")
図 1: 車の速度と停止距離の関係(散布図)

5.2 サブキャプションと並列配置

一つのチャンクから複数のグラフを出力し、それぞれにサブキャプションを付けることもできます。

gt::gt(head(iris[iris$Species == "setosa", 1:4]))
gt::gt(head(iris[iris$Species == "virginica", 1:4]))
表 1: irisデータセットの中身
(a) setosa種
Sepal.Length Sepal.Width Petal.Length Petal.Width
5.1 3.5 1.4 0.2
4.9 3.0 1.4 0.2
4.7 3.2 1.3 0.2
4.6 3.1 1.5 0.2
5.0 3.6 1.4 0.2
5.4 3.9 1.7 0.4
(b) virginica種
Sepal.Length Sepal.Width Petal.Length Petal.Width
6.3 3.3 6.0 2.5
5.8 2.7 5.1 1.9
7.1 3.0 5.9 2.1
6.3 2.9 5.6 1.8
6.5 3.0 5.8 2.2
7.6 3.0 6.6 2.1

5.3 カスタムレイアウト

layout オプションを使うと、「上段に2つ、下段に1つ」といった複雑な配置も可能です。

指定例: 上段は50%-50%、下段は100%

(a) 図A
(b) 図B
(c) 図C
図 2: 図3つの配置の例

脚注

  1. 脚注は、ページ下部や文末にまとめて表示されます。↩︎

  2. 識別子を使うと、長い脚注を書きやすくなります。識別子を使わない脚注はマークダウンのコード基準、1行に1回しか使えませんが、識別子を使う方法は複数回使えます。↩︎