How to automatically embed R plot into html exported by org-mode with org-babel

本サイトは,ox-hugoで書いてHugo用のMarkdownをexportすることにより作成しているが,前回の記事(How to plot survival curve of competing risk analysis with censoring mark and number at risk (at risk table))を書いている際に,Rでplotしたgraphを記事の中に自動ではめ込むよう設定するのに苦労したので,これも忘れないうちにまとめておく.まず,今回はorg-babelの設定について書き,次回にHugoでの設定をまとめる.

Org-babel setup

org-babelとは,う~~~ん,なにもの? ものすごく端折って言うと,Code blockを評価して結果を表示するorg-modeの拡張,といったところだろうか...実例を見たほうが早いと思う.今回,org-babelによる R code の評価について書こうとして,ふと,ブログを見直してみると,なんとorg-babelの設定をまとめた記事を投稿してない …..(^^;;;

ということで,org-babelの設定を改めて記しておく.例によって,init.orgに以下のように書き込んでおけばよい.

Ref: Org-babel Setup ここからコピペ (^^;;;

#+begin_src emacs-lisp
(org-babel-do-load-languages
 (quote org-babel-load-languages)
 (quote ((emacs-lisp . t)
         (dot . t)
         (ditaa . t)
         (R . t)
         (python . t)
         (ruby . t)
         (gnuplot . t)
         (clojure . t)
         (shell . t)
         (ledger . t)
         (org . t)
         (plantuml . t)
         (latex . t))))
#+end_src

How to use org-babel

以下のサイトを参考にした.

Ref 1: Official manual 14 Working with Source Code

Ref 2: org-modeのコードブロック(Babel)の使い方
このサイトが分かりやすい.特に, ヘッダー引数言語毎の書き方R の項は必読.

Org-babel evaluation of R code block

R and Emacs with org mode
org-babelによるR codeの評価とhtmlへのgraph plotの自動埋め込みは,このサイトが分かりやすい.ここに有る”Using org mode with R”というサンプルを参考に,以下のようなorgファイルを/Data/hogehoge/hogefugaに作成する.

#+TITLE: R-test
#+AUTHOR: taipapa

* Test

  #+begin_src R :session *R* :results output graphics :file test1.png :exports both
  boxplot(islands)
  #+end_src

  #+begin_src R :session *R* :results output graphics :file test2.png :exports both
  library("ggplot2")
  ggplot(iris, aes(x = Sepal.Width, y = Sepal.Length, color = Species)) +
  geom_point()
  #+END_SRC

C-c C-e h oとしてhtmlにexportすると,以下のように簡単にグラフがプロットされたhtmlが作成される.いちいちできたグラフ画像を挿入する必要はなく,自動で挿入される.便利である.

  注意点としては,C-c C-e hoとしたときに, R starting project directory? と尋ねられるはずで,defaultの値として /Data/hogehoge/hogefuga/ が既に表示されているはずである.これをそのままリターンすれば同じdirectoryにグラフが作成されて良きにはからってくれる.この際に異なるdirectoryを選んだりするとうまくいかないので注意.

また,C-c C-e loとすると,自動でR plotの挿入されたpdfが作成されオープンする.

これで準備が整った.次回はHugoで作成したブログにR plotを自動で差し込む方法をまとめる予定である.

Avatar
taipapa
本人ではありません (^^)

Related

Next
Previous
comments powered by Disqus