15 R Markdown
データサイエンスを実際に行っていくときには、再現性のためにも記録が大切ですが、そのためのツールである、R Markdown にいついて説明します。2022年頃から、R だけでなく、Python や Julia など複数の言語上で利用する目的で、R Markdown の後継の Quarto という新しいシステムも使われています。少しずつ、Quarto についても紹介していきますが、R Markdown を知っていれば、簡単に、乗り換えることができまし、R Markdwon も今後ともサポートされるとのことですので、ここでは、R Markdown について書き、後ほど、別立てで、Quarto について書いていくことにします。
15.1 再現可能性とプログラムの文書化
データサイエンスは、サイエンス(科学)ということばもついていますが、特に、根拠に基づいた(evidence based)とか、データに基づいた(data based)ということばを使うときには、なおさら、再現可能性(reproducibility)や、コードの内容の説明などのコミュニケーションにも注力する必要があります。このことを心がけて、データサイエンスを学んでいきましょう。
表題にある、“Reproducible and Literate Programming” は、Reproducible (再現可能)かつ、Literate な(理解できるように記述した)Program(プログラム・コード)を共有することをたいせつにしましょうということです。
注:Literate Programming の訳は「文芸的プログラミング」とか「文学的プログラミング」が使われているようですが、読んで理解できるということですから、文書化ぐらいがいいかなと思っています。より適切な訳があれば、今後変更していきたいと思います。
15.1.2 データについて
どのようなデータをどのように取得してきたかを、記録し、伝えられるようにすることが、必要です。データを取得するときから、取得方法や、それを伝える方法にも常に気をつけましょう。
15.2 準備:パッケージのインストール
Rパッケージは、Rの拡張機能で、コード、データ、ドキュメントを標準化されたコレクション形式で含んでおり、標準的なものは、R Studio の Top Bar の Tool > Install Packages からインストールできます。
tidyverse
rmarkdown
tinytex
インストールを複数回しても問題はありませんが、インストールされているかどうかは、Packages タブから確認することができます。
インストールは一回だけ。ときどき、Tools > Check for Package Update をつかって、Update しておくと良いでしょう。
15.3 R Notebook
R Markdownはデータサイエンスのためのオーサリングフレームワーク。
コード(プログラム)とその実行結果、を記録・表示し、高品質のレポートの作成を可能にします。
R Notebook は、独立してインタラクティブに実行できるチャンクを持つR Markdownドキュメントの一つの形式で、入力のすぐ下に出力が表示することができます。
- File > New File > R Notebook
- Save with a file name, say, test-notebook
- Preview by [Preview] button
- Run Code Chunk plot(cars) and then Preview again.
15.4 日本語のテンプレート
下のリンクを開き、右上の Code ボタンから、Download Rmd を選択すると、ダウンロードできますから、ダインロードしたものを、プロジェクト・フォールダーに移動またはコピーしてください。ダウンロードできないときは、Ctrl を押しながら、Download Rmd をクリックすると、Save As で保存できると思います。ブラウザーによって仕様が異なりますから、適切な方法を選んでください。
- https://ds-sl.github.io/intro2r/RNotebook-J.nb.html
- https://ds-sl.github.io/intro2r/Rmarkdown-J.nb.html
Windows でも、Mac でも提供されている、Google Chrome の場合には、Code ボタンから、ダンロードされるはずです。
RNotebook の新しいファイルを作成し、下のサイトを表示させて、コピー・ペーストで、書き換えることも可能です。
15.5 R Markdown いくつかの Output
---
title: "Testing R Markdown Formats"
author: "ID Your Name"
header-includes:
- \usepackage{xeCJK}
- \setCJKmainfont{ipaexm.ttf}
- \setCJKsansfont{ipaexg.ttf}
- \setCJKmonofont{ipaexg.ttf}
output:
html_notebook: default
html_document: default
pdf_document: default
latex_engine: xelatex
word_document: default
powerpoint_presentation: default
ioslides_presentation: default
---
PDFでエラー? コンソールで tinytex::install_tinytex()
- TeX システムがインストールされている場合は不要
エラーの例を書いておきます。tinytex::install_tinytex()
おらず、他の TeX システムもインストールしていない環境で、上に引用した、RNotebook-J
から、PDF を作成したときに生じたエラーです。ここに
If you are not sure, you may install TinyTeX in R: tinytex::install_tinytex()
「よくわからない場合は、RでTinyTeXをインストールすることもできます: tinytex::install_tinytex()
」
と書いてあります。
エラーメッセージの例
processing file: RNotebook-J.Rmd
“C:/Program Files/RStudio/bin/quarto/bin/tools/pandoc” +RTS -K512m -RTS RNotebook-J.knit.md –to latex –from markdown+autolink_bare_uris+tex_math_single_backslash –output RNotebook-J.tex –lua-filter “C:000117x-library\4.2.lua” –lua-filter “C:000117x-library\4.2-div.lua” –embed-resources –standalone –highlight-style tango –pdf-engine pdflatex –variable graphics –variable “geometry:margin=1in” output file: RNotebook-J.knit.md
Error: LaTeX failed to compile RNotebook-J.tex. See https://yihui.org/tinytex/r/#debugging for debugging tips. In addition: Warning message: In system2(…, stdout = if (use_file_stdout()) f1 else FALSE, stderr = f2) : ‘“pdflatex”’ not found Execution halted
No LaTeX installation detected (LaTeX is required to create PDF output). You should install a LaTeX distribution for your platform: https://www.latex-project.org/get/
If you are not sure, you may install TinyTeX in R: tinytex::install_tinytex()
Otherwise consider MiKTeX on Windows - http://miktex.org
MacTeX on macOS - https://tug.org/mactex/ (NOTE: Download with Safari rather than Chrome strongly recommended)
Linux: Use system package manager
15.6 YouTube Video - rmarkdown
15.6.1 RMarkdown で PDF を作成するときの注意
RMarkdown では、tinytex
パッケージというとても素晴らしいものが提供されています。これは、TeXLive というシステムを扱うためのものですが、LiveTeX 全体は、3GB 程度ありますが、非常に小さなファイルで、必要なものだけ、導入できるようになっています。
システムを、使われる方は、TeXLive が、インストールされているかと思いますので、それを使うことが狩野樹になっています。
一応、TeXLive がインストールされていて、そのあとに、TinyTeX をインストールしようとすると、拒否されますが、インストール、アンインストールなどをしていると、Path も変更になるため、問題が起こり、PDF が作成できなくなる場合もあります。
その場合の対処も含めて、下に書きます。
アカウントに漢字やカタカナが入っていると、PDF が作成できません。