R のデータフレーム型のオブジェクトを HTML、LaTeX や Markdown 形式で出力方法

Markdown テーブル

knitr パッケージを利用することで、R のデータフレーム型のオブジェクトを HTML、LaTeX や Markdown 形式で出力することができる。R で解析した結果を一時的に Markdown 形式でメモをとるときに、貼り付けたりするのに便利。

library(knitr)

data <- data.frame(
    Gene = c("AT5G50200", "AT3G12500", "AT3G03670"),
    Name = c("WR3", "ATHCHIB", NA), 
    KEGG = c(NA, "ath00520", "ath00360,ath00940")
)

data
##        Gene    Name              KEGG
## 1 AT5G50200     WR3              <NA>
## 2 AT3G12500 ATHCHIB          ath00520
## 3 AT3G03670    <NA> ath00360,ath00940

HTML 形式のテーブル

kable 関数を利用して format = "html" 指定すれば、データフレームが HTML フォーマットで成形されて出力される。

kable(data, format = "html")
## <table>
##  <thead>
##   <tr>
##    <th style="text-align:left;"> Gene </th>
##    <th style="text-align:left;"> Name </th>
##    <th style="text-align:left;"> KEGG </th>
##   </tr>
##  </thead>
## <tbody>
##   <tr>
##    <td style="text-align:left;"> AT5G50200 </td>
##    <td style="text-align:left;"> WR3 </td>
##    <td style="text-align:left;"> NA </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> AT3G12500 </td>
##    <td style="text-align:left;"> ATHCHIB </td>
##    <td style="text-align:left;"> ath00520 </td>
##   </tr>
##   <tr>
##    <td style="text-align:left;"> AT3G03670 </td>
##    <td style="text-align:left;"> NA </td>
##    <td style="text-align:left;"> ath00360,ath00940 </td>
##   </tr>
## </tbody>
## </table>

LaTeX 形式のテーブル

kable 関数を利用して format = "latex" 指定すれば、データフレームが LaTeX フォーマットで成形されて出力される。

kable(data, format = "latex")
## \begin{tabular}{l|l|l}
## \hline
## Gene & Name & KEGG\\
## \hline
## AT5G50200 & WR3 & NA\\
## \hline
## AT3G12500 & ATHCHIB & ath00520\\
## \hline
## AT3G03670 & NA & ath00360,ath00940\\
## \hline
## \end{tabular}

Markdown 形式のテーブル

kable 関数を利用して format = "markdown" 指定すれば、データフレームがマークダウンフォーマットで成形されて出力される。

kable(data, format = "markdown")
## |Gene      |Name    |KEGG              |
## |:---------|:-------|:-----------------|
## |AT5G50200 |WR3     |NA                |
## |AT3G12500 |ATHCHIB |ath00520          |
## |AT3G03670 |NA      |ath00360,ath00940 |