RStudioを使ったPDF文書の作成(for RStudio 0.98.932+)

  • 27
    Like
  • 0
    Comment
More than 1 year has passed since last update.

Gistにて、今回使用したファイルを公開しています。参考にどうぞ。出力結果のPDFはこちらで確認できます。

output image.png
↑成果物?。綺麗なPDFが作成されました???

実行環境

  • OS: Mac OS X 10.9.3
  • R 3.1.0 Patched (2014-06-16 r65952) "Spring Dance"
  • RStudio 0.98.932
  • Mac TeX 2014

日本語まわりのこと以外はMacでもWindowsでもほとんど違いがないのではないでしょうか...。

RStudioでファイルをPDFに変換する

RStudioで作成した.Rmdファイルはさくっと他形式のファイルに変換可能なことは以前書きました。今回はどのプラットフォームでも表示が崩れることがないPDFでの出力を行います。必要なのはひと通りTeXの出力ができる環境です。

メニューバーから File -> New File -> R Markdown ... からDocumentを選択し、Default Output FormatのところをPDFにチェックしてOKとしてください(あとで変更することも可能です)。

すると以下のようなテンプレートファイルが作成されます。

---
title: "Untitled"
author: "author"
date: "June 24, 2014"
output:
  pdf_document:
    toc: true
    fontsize: 12pt
    highlight: tango
---

This is an R Markdown document. Markdown is a simple formatting syntax 
for authoring HTML, PDF, and MS Word documents. For more details on 
using R Markdown see <http://rmarkdown.rstudio.com>.

ハイフンで挟まれた部分がheaderとなり、ここで全体の設定(出力形式や目次の有無、フォントサイズ、Rスクリプトのハイライトの見た目などの変更)をしています(後述 -> LaTeX オプション)。ハイフン以下の部分が出力される本文および実行するRスクリプトとなります。

図の名前、種類と保存先

保存される図の名前、種類、保存先はchunk optionにて設定が可能です。

作図した図はデフォルトでは.pdfとして保存されます。TeXはPDFファイルの埋め込みに対応しているので、綺麗な図をそのまま表示させることが可能です。図の保存先はファイル名_filesというフォルダに保存されます。

これらを変更したい場合にはchunk optionにて、chunk namedevfig.paghでそれぞれ指定します。

{r fig1, dev='png', fig.path='figure/'}

とした場合、figureフォルダ内にfig1.pngというファイルが生成されます。

LaTeX オプション

LaTeXのプリアンブルで行うようなドキュメント全体の指定はheader部分で行います。こちらについては公式ページの説明が詳しいです。

日本語の問題

さてさて便利なRmdからPDFへの変換機能ですが、日本語を含む文書あるいは図が上手く表示されない、ということがあります。そんなわけであれこれ格闘してみた結果です。

日本語でおkな文書

RStudio(Windows)でSweave(.Rnw)を使って一発でpdf作りたい - My Life as a Mock Quant」で書かれている通り、lualatexでのPDF作成を行います。latex_engineにlualatexとし、.texファイルのほうでluatexjaパッケージの読み込み指定が必要となるので、pandoc templates\usepackage{luatexja}を加える。たぶんこれで大丈夫なはず...。どうでしょうか?

ref) RStudio(Windows)でSweave(.Rnw)を使って一発でpdf作りたい - My Life as a Mock Quant

日本語でおkな図

自分の環境だけかもしれませんが、次のようにすると問題なく表示できます。まずchunk optionでwarning=FALSEとし(エラーメッセージの非表示)、dev='cairo_pdf'とします。ついで作図、となりますが重要なのは作図デバイスの呼び出し前にpar(family="")でフォントファミリーを指定することです。OsakaなりHiraginoなり、お好みのフォントファミリーに変更してください。

ref) グラフの描き方

```{r fig1, echo=FALSE, fig.cap="にほんご", warning=FALSE, dev='cairo_pdf'}
par(family="Osaka")
plot(cars, main=c("日本語でおk"), xlab="にほんご")

Windowsでは?

@takeshouさんによるメモが参考になりそうです。

ref) RStudioで日本語PDF - ぼやかないつもりのメモ

I wished it!

本が出たみたいですね。...欲しい。