みなさん,こんにちは。
シンノユウキ(shinno1993)です。
今回は,R Markdownを使ったレポート作成の基礎について解説します。
これまでは,R StudioでRスクリプトを使って解析を行ってきました。ただ,その結果をレポートにまとめる際は,グラフや数値をWordやExcelにコピペする必要がありました。しかし,解析結果をWordやExcelに一つひとつコピペしてレポートを作るのは,非常に時間がかかりますし,ミスも起きやすいですよね。そのような作業は,R Markdownを使えば一部を自動化することが可能です。
下記のような方はぜひ読んでみてください:
- 統計解析の結果をWordやPowerPointにコピペする際にミスしたことがある
- 分析の手順や条件を後から振り返れるようにしたい(再現性の確保)
- 簡易的な解析レポートをサクッと作成したい
R Markdownとは何か?
はじめに,R Markdownとは何か? という点について解説します。R Markdownとは,文章(本文)とRのコード(解析)を1つのファイルに同居させ,そのままレポートとして出力できる仕組みのことです。

通常レポートを作るには,「Rで解析する」→「結果をコピーする(またはファイルとして出力する)」→「WordやGoogleドキュメントに貼り付ける」という手順を踏む必要があります。しかし,R Markdownを使えば,解析結果をコピー・ペーストすることなく,そのままレポートとして出力することができます。文章に直接解析結果を埋め込める,といえば分かりやすいでしょうか。

R Markdownを使う3つのメリット
文章に直接解析結果を埋め込めることは,実際には多くのメリットがあります。
- 再現性が確保できる:R Markdownを使うと,文章の中に解析コード(グラフ作成に用いたコード)が埋め込まれているため,後から誰が見ても(未来の自分が見ても),同じ結果を再現できます。Wordに複数のグラフを貼り付ける際,どのグラフがどの条件で作成したグラフか,後から分からなくなったことがありませんか?R Markdownを使うことで,このようなことを排除できます。
- コピペによるミスを排除できる:数値を手で打ち込んだり,グラフを画像として保存してWordに貼り付けたりする作業は,ミスが発生しやすくなります。そのミスは,たとえ単純なミスであっても不正に該当してしまうことだってあります。R Markdownは計算結果を直接文章の中に埋め込みます。そのため,起こりうるミスのうち,転記ミスについては原理的に発生しなくなります。
- 修正と更新が容易:データ分析の条件を変更して解析し直す際,普通のやり方ならすべての図表を貼り直す必要があります。一方でR Markdownなら,データを更新して再度出力するだけで,すべての数値とグラフが最新の状態に置き換わります。

コピペや手作業を排除することは,データ分析の信頼性を高める第一歩です!
STEP1:R Markdownの実践:準備と基本設定
R Projectの作成
R Markdownとは直接関係ないのですが,分析結果の再現性を高めるために,R Projectを作成しましょう。
「レポートのファイルはデスクトップに,データはドキュメントフォルダに……」といったバラバラな管理は,再現性を低くする原因になります。R Projectを作成することで,その解析に関連するすべてのファイル(データ,コード,出力レポート)を1つのフォルダ内にまとめて管理することができるようになります。
R Projectを作成する手順
- RStudioを起動し,左上にある「
File」→「New Project…」を選択します。 - 「
New Directory」 → 「New Project」を選択します。 - 「
Directory name」にプロジェクト名(例:nutrition_report)を入力し,作成場所を選んで「Create Project」をクリックします。
必要なパッケージのインストール
次に,R Markdownを動かすためのパッケージをインストールします。以下のコードを実行してください。
install.packages("rmarkdown")
install.packages("knitr")
新規ファイルの作成
インストールが終わったら,ファイルを作成します。
- RStudioの左上にある「+」アイコンをクリック
- 「
R Markdown…」を選択 Titleに任意のレポート名(例:栄養調査レポート),Authorに自分の名前を入力Default Output Formatは,ここでは「Word」を選んで「OK」をクリック
これで,テンプレートが書き込まれた新しいファイル(.Rmd)が開きます。
Markdownの基本:文章の書き方
R Markdownでは,文章を「Markdown(マークダウン)」という記法で書いていきます。よく使う記法をまとめました。
| 記法 | 意味 | 表示例 |
|---|---|---|
## 見出し2 | 大きな見出し | 大きな見出し |
### 見出し3 | 中見出し | 中見出し |
**太字** | 強調 | 太字 |
* リスト | 箇条書き | ・リスト |
1. 番号 | 番号付き | 1. 番号 |
コード・チャンク:Rのコードを埋め込む
R Markdownの最大の特徴は,文章の中に「コード・チャンク」(コードの塊)と呼ばれるRの実行エリアを作れることです。
書き方
コード・チャンクは,3つのバッククオート・波括弧・rと,3つのバッククオートで囲みます。すなわち,下記のようになります。
```{r チャンクの名前}
ここにコードを書く
```
上記のチャンクの名前は必須ではありませんが,コードの整理のために書いておくことをオススメします。例えば,{r setup}や{r result}などです。
例
R Markdownでは下記のように書きます。
### 1. 基本的な統計量
サンプルデータのエネルギー摂取量の平均は以下の通りです。
```{r result, echo=FALSE}
mean_val <- mean(energy_data)
cat("平均エネルギー摂取量:", round(mean_val, 1), "kcal")
```
すると,出力時には下記のようになります。

チャンクのオプション設定
提出用のレポートでは,コード自体は見せず,結果(図や表)だけを表示したい場合があります。その時は以下のようなオプションを使います。
echo = FALSE:コードは隠して,実行結果だけを表示するmessage = FALSE:エラー以外のメッセージを表示しないinclude = FALSE:チャンクの出力を文書に含めない
たとえば,echo = FALSEを使用したい場合は,下記のようにします。
```{r echo = FALSE}
summary(cars)
```
インラインコード:文章中に結果を埋め込む
コードチャンクは,コードと結果の塊として埋め込まれますが,インラインコードを使うことで文章中に結果として埋め込むことができます。
書き方
`r 実行したいコード`
例
R Markdownで「平均値は 'r mean(energy_data)' kcalでした」と書くと,出力時には「平均値は 1985.7 kcalでした」のように数値に置き換わります。
実践 簡易レポートを作ってみよう
では,以前学習した「代表値の算出」 を例に,簡単なレポートの構成を書いてみましょう。テンプレートで入っているR Markdownの内容を削除(7行目から下をすべて)し,改めて以下の内容をR Markdownファイルに入力してみてください。
## 栄養摂取状況について
今回の調査結果から,エネルギー摂取量の平均値を算出しました。
```{r setup, include=FALSE}
energy_data <- c(1800, 2100, 1950, 2200, 1750, 2400, 2050)
```
### 1. 基本的な統計量
サンプルデータのエネルギー摂取量の平均は以下の通りです。
```{r result, echo=FALSE}
mean_val <- mean(energy_data)
cat("平均エネルギー摂取量:", round(mean_val, 1), "kcal")
```
### 2. データの分布
摂取量の分布をヒストグラムで確認します。
```{r plot, echo=FALSE}
hist(energy_data, col = "skyblue", main = "エネルギー摂取量の分布", xlab = "kcal")
```
レポートの出力(Knit)
書き終わったら,エディタ上部にある「Knit」(毛糸玉のアイコン)をクリックしてください。ファイルに名前を付けて保存すると,自動的に解析が走り,結果が埋め込まれたWordファイルが作成されます。


R Markdownが適しているシーン:使い分けのポイント
R Markdownは非常に強力なツールですが,すべての文書作成をこれ一つで完結させる必要はありません。得意なことと少し苦手なことを理解して,効率的に使い分けるのがポイントです。
- 解析ノートブックや備忘録:もっともおすすめの使い方は,自分自身の「解析ノートブック」として活用することです。「なぜこのデータを除外したのか」「どの統計手法と比較したのか」といったメモをコードのすぐ横に残すことができます。また,数ヶ月後の自分が同じ解析をやり直す際,R Markdownでドキュメントを整理しておくことで,迷うことなく実行できます。
- 定型的な報告書の自動化:「毎月データだけが更新され,出力するグラフや表の形式は同じ」という業務がある場合は,R Markdownが適していると言えそうです。データを新しいCSVファイルに差し替えて「Knit」ボタンを押すだけで,文中の数値(インラインコード)もグラフもすべて最新状態に更新されたレポートが完成します。
- 論文執筆に直接用いるのは難しいかもしれない:一方で,学術論文の「投稿原稿そのもの」を作成するには,少し難しいかもしれません。ジャーナルごとの細かい投稿規定(フォントサイズ,行間,図の配置など)にR Markdownだけで合わせるには,かなり高度な設定が必要になります。解析と図表作成,数値の確認,論文草稿の出力まではR Markdownで行い,最終的なフォーマットの調整はWordで行うというハイブリッドな運用から始めるのが,実務ではスムーズかもしれません。
まとめ
今回は,R Markdownを用いたレポート作成の基礎を紹介しました。
R Markdownは,文章とRの解析コードを一つのファイルに統合し,解析結果を含んだレポートを自動的に生成できる仕組みです。従来のようにグラフや数値を手作業でWord等へ転記する手間が省けるため,転記ミスの防止や分析の再現性確保に貢献します。また,データが更新された際もボタン1つでレポート内の数値や図を最新状態に書き換えられるため,修正作業の効率も向上します。
具体的な利用手順としては,R Projectでファイルを整理し,専用パッケージを導入した上で,Markdown記法と「コード・チャンク」を用いて文章とコードを記述していきます。執筆後はRStudioの「Knit」ボタンをクリックするだけで,解析が実行され,結果が埋め込まれたWord等のレポートが即座に出力されます。これにより,データ分析から文書作成までを正確に行うことが可能になります。
- 【R×栄養統計】RとRStudioをインストールしよう
- 【R×栄養統計】四則演算と代表値の算出をやってみよう
- 【R×栄養統計】データの読み込み方法を習得しよう【TXT・CSV,・XLSX】
- 【R×栄養統計】性別と肥満度に関係があるか?カテゴリデータの栄養統計
- 【R×栄養統計】正規分布しているか?正規性を確認する方法を紹介します
- 【R×栄養統計】男女でエネルギー摂取量に差はある?対応のない2群間の栄養統計
- 【R×栄養統計】栄養指導に効果はあった?対応のある2群間の栄養統計
- 【R×栄養統計】食べる速さでエネルギー摂取量に差がある?対応のない多標本の栄養統計
- 【R×栄養統計】多重比較を行う理由と使い分けを紹介|検定の多重性問題
- 【R×栄養統計】どの群間に差がある?対応のない多標本における多重比較
- 【R×栄養統計】R Markdownで分析レポートを作成しよう!現在のページ