1 min read

試用Interactive charts and slides with R

簡介

新版的RStudio(0.98.228) 推出了Using Markdown with RStudio,這對於我這個markdown愛好者來說可是大利多呀!!

簡單來說,就是透過以下的流程產生文件:

Rmd –> Markdown –> HTML

這裡的Markdown同時還支援:

想了就覺得非常方便!

使用

  1. 安裝R package knitr。我在2.13版本之前的R是無法安裝的,所以想試用的朋友記得把R的版本更新。
  2. 打開Rstudio ,File –> New –> R Markdown
  3. 編輯markdown檔案,儲存為xxx.Rmdxxx.md。注意: 副檔名若為md,就無法使用嵌入R圖片的功能。
  4. 點選編輯器上的Knit HTML就可以預覽產生的HTML格式。目前我個人在這部分遇到困難: 我沒有辦法把R畫出來的圖嵌入產生的HTML內。

語法範例

這裡是我試過的範例。有興趣的大大可以到knitr-example 看看更多的範例。

  • 嵌入R語法:

      ```r
      cat("hello world")
      ```
    
      ```
      ## hello world
      ```
  • 嵌入R圖面

      ```r
      plot(cars)
      ```
    
      <img src="2012-06-04-shi-yong-interactive-charts-and-slides-with-r_files/figure-html/圖片標題-1.png" width="672" />
  • 行內嵌入方程式 \(latex X_t = \mu_t + \varepsilon_t\)

  • 方程式區塊 \[latex \begin{aligned} X_t = \mu_t + \varepsilon_t \\ \varepsilon_t ~ Normal(0,1) \end{aligned} \]

  • 跳脫字元

    • 要跳脫$latex,使用HTML的語法: &#36;latex

全命令列環境

根據stackoverflow裏的某位大大提示,其實knitr套件提供了直接在R中轉換.Rmd至.md的語法:

r rmd2md require(knitr) # required for knitting from rmd to md require(markdown) # required for md to html knit('test.rmd', 'test.md') # creates md file markdownToHTML('test.md', 'test.html') # creates html file browseURL(paste('file://', file.path(getwd(),'test.html'), sep='')) # open file in browser

理解了這件事情後,就可以寫出Makefile來在命令列編譯。

我自己的擴充

我都是透過php + R 來拼湊出下面這耶東西,環境都是Ubuntu

  • knitr2octopress : 將Rmd轉換出來的.md檔案內的圖片連結,轉換為使用Data URI scheme的格式。
  • yml2rmd : 利用yml格式來產生大量圖表的.Rmd檔案,這個文件我還沒空寫, 以後慢慢補…