Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

R MarkdownとBeamerでプレゼンテーション資料作成

1,066 views

Published on

SappoRo.R #8での発表資料

Published in: Data & Analytics
  • Be the first to comment

R MarkdownとBeamerでプレゼンテーション資料作成

  1. 1. R MarkdownとBeamerで プレゼンテーション資料作成 SappoRo.R #8 @ 北海学園大学 伊東宏樹 2018-02-24
  2. 2. 自己紹介 森林の研究をしています。 Twitter: @monotropastrum researchmap: https://researchmap.jp/read0208767/ GitHub: https://github.com/ito4303 この発表資料のファイル一式 https://github.com/ito4303/SappoRoR8
  3. 3. かかわっているプロジェクト “Bayesian Population Analysis using WinBUGS” の Stan 移植 https://github.com/stan-dev/example-models/tree/master/BPA 原本の日本語訳:『BUGS で学ぶ階層モデリング入門—個体群のベイ ズ解析』(飯島勇人・伊東宏樹・深谷肇一・正木隆訳, 共立出版) Stan マニュアルの日本語への翻訳プロジェクト https://github.com/stan-ja/stan-ja
  4. 4. ありがとうぞうさん SappoRo.R #6: R Markdown によるスライド生成(前田さん) http://kazutan.github.io/SappoRoR6/rmd_slide.html
  5. 5. その後 revealjs をためてしてみた。
  6. 6. その後 revealjs をためてしてみた。 なかなかよかった。
  7. 7. その後 revealjs をためてしてみた。 なかなかよかった。 次は R Markdown + Beamer でやってみよう。
  8. 8. Beamer とは LATEX でプレゼンテーションファイル (PDF) を作 成するパッケージ
  9. 9. R Markdown + Beamer RStudio で,R Markdown を新規に作成するときに,Beamer で プレゼンテーションファイルを作成するオプションあり。
  10. 10. なぜ R Markdown + Beamer RStudioだけで,数式も,Rコードも, グラフもすべて完結。
  11. 11. 用意したもの RStudio TeXLive 2017 (MacTeX 2017)
  12. 12. 使用方法 ふつうに R Markdown RStudio で,下のようにかいていく。 # タイトル 内容 内容 :
  13. 13. yaml ヘッダの設定 title: | | R MarkdownとBeamerで | プレゼンテー ション資料作成 subtitle: "SappoRo.R #8 @ 北海学園大学" author: "伊東宏樹" date: "2018-02-24" output: beamer_presentation: theme: default # テーマ latex_engine: lualatex # lualatexを使用 keep_tex: true # texソースをのこす includes: in_header: header.tex # header.texをよみこむ fig_caption: false title 中の改行は ‘|’ をいれる。(https://stackoverflow.com/questions/ 28895109/how-can-i-force-a-line-break-in-rmarkdowns-title)
  14. 14. 欧文フォントの設定 in_header で指定したファイルで設定。 usefonttheme[onlymath]{serif} usepackage[T1]{fontenc} usepackage{textcomp} usepackage[scale=1.0]{tgheros} % Sans serif font usepackage[scaled]{beramono} % Monospace font fontenc パッケージを使用するようにした。 luatex 使用の場合,デフォルトの beamer テンプレートで fontspec パッ ケージが呼ばれるが,そうすると upquote パッケージが有効にならず, コードチャンク中の二重引用符が「"」ではなく「”」になってしまうよ うだ。
  15. 15. 日本語フォントの設定 日本語フォントの設定は欧文フォントとは別になっている。 この資料では,in-header で指定したファイル内で,以下のよう に設定した(Noto フォント使用)。 usepackage{luatexja-otf} usepackage[match,deluxe,expert,noto-otf]{luatexja- preset} renewcommand{kanjifamilydefault}{gtdefault}
  16. 16. luatexja の設定 luatexja の公式ドキュメントがくわしい(当然)。 コマンドラインから texdoc luatexja または http://mirrors.ctan.org/macros/luatex/generic/luatexja/doc/ luatexja-ja.pdf
  17. 17. fragile 関係のエラー fancyvrb パッケージの Verbatim 環境や,listings パッケージの lstlisting 環境をつかうと, ! Illegal parameter number in definition of beamer@doifinframe. ! Missing endcsname inserted. といったエラーが出る場合がある。 解決法: タイトルのあとに{.fragile}をつける。 # タイトル{.fragile} 内容 内容
  18. 18. 数式 LaTeX なので,数式は問題なし。RStudio ではプレビューも表示 される。 [ Pr(x mid mu, sigma) = frac{1}{sqrt{2pi}sigma} expleft(-frac{(x - mu)^2}{2sigma^2}right) ] Pr(x | µ, σ) = 1 √ 2πσ exp − (x − µ)2 2σ2
  19. 19. R でグラフ R なので,グラフも。 しかし,デフォルトでは はみでる。 p <- ggplot(iris, aes(Sepal.Length, Sepal.Width, colour = Species)) + geom_point() print(p) 3.0 3.5 4.0 4.5 Sepal.Width Species setosa versicolor virginica
  20. 20. チャンクでのオプション指定 ドキュメントをみる。 knitr > Chunk options and package options (Yihui Xie さん) https://yihui.name/knitr/options/#plots
  21. 21. サイズ調整 チャンクオプションで fig.width=4,fig.height=2.5 と out.height="5cm"を指定した。 print(p) 2.0 2.5 3.0 3.5 4.0 4.5 5 6 7 8 Sepal.Length Sepal.Width Species setosa versicolor virginica
  22. 22. グラフの日本語フォント チャンクオプションで,dev="cairo_pdf"を指定すると,日本語 フォントの 表示ができる。 spc <- c("ヒオウギアヤメ", "イリス・ウェルシコロル", "イリス・ヴァージニカ") p + labs(x = "萼の長さ (cm)", y = "萼の幅 (cm)") + scale_colour_discrete(name = "種", labels = spc) + theme_grey(base_family = "NotoSansCJKjp-Regular") 2.0 2.5 3.0 3.5 4.0 4.5 5 6 7 8 萼の長さ(cm) 萼の幅(cm) 種 ヒオウギアヤメ イリス・ウェルシコロル イリス・ヴァージニカ
  23. 23. まとめ CSS の知識があれば,revealjs の方が楽かも。
  24. 24. まとめ CSS の知識があれば,revealjs の方が楽かも。 でも,なんとかなる。
  25. 25. まとめ CSS の知識があれば,revealjs の方が楽かも。 でも,なんとかなる。 ドキュメントをよむ。
  26. 26. まとめ CSS の知識があれば,revealjs の方が楽かも。 でも,なんとかなる。 ドキュメントをよむ。 先人の知恵を活用する。
  27. 27. まとめ CSS の知識があれば,revealjs の方が楽かも。 でも,なんとかなる。 ドキュメントをよむ。 先人の知恵を活用する。 いったん設定ができてしまえば,あとは楽?

×