10.3 その他の表作成パッケージ

多くの作表用 R パッケージがあります. kable() (10.1節) とkableExtra (10.2節) を紹介した)主な理由は他のパッケージより良いからではなく, 私がこれらにのみ詳しかったからです.34 存在は知っていますがあまり詳しくないパッケージを次に列挙します.35 ご自分で確認し, 目的に最も合っているものを決めることができます.

  • flextable (Gohel 2021a)huxtable (Hugh-Jones 2021): 幅広い種類の出力フォーマットをサポートするパッケージを探しているなら, flextablehuxtable が最善の2つの選択です. HTML, LaTeX. そして Office フォーマットを全てサポートし, よく使われる表の機能 (例えば条件付き書式とか) のほとんどをサポートしています. flextable の詳細は https://davidgohel.github.io/flextable/ で, huxtable のドキュメントは https://hughjonesd.github.io/huxtable/ で見られます.

  • gt (Iannone, Cheng, and Schloerke 2022): 表のヘッダ, (題名・副題), 列のラベル, 表の本体, 行グループのラベル, 表のフッタといった異なる表のパーツをまとめて表を構成することができます. 数字のフォーマットを指定したり, セルの背景色に影をつけたりもできます. 現在は gt は主に HTML 出力をサポートしています.36 詳細は https://gt.rstudio.com で見られます.

  • formattable (Ren and Russell 2021): percent(), accounting() といった数値を整形するものや, テキストの書式, 背景色やカラーバー, アイコンの追加などで数値を強調するなど, 表の列のスタイルを設定する関数を提供してくれます. gt のように, このパッケージも主に HTML フォーマットをサポートしています. 詳細は GitHub プロジェクトの https://github.com/renkun-ken/formattable で見ることができます.

  • DT (Xie, Cheng, and Tan 2021): 作者なのでこのパッケージには精通していると思っていますが, HTML フォーマットのみのサポートのため独立した節を設けて紹介したりはしません. DT は JavaScript ライブラリの DataTables を下地に構築されたもので, HTML ページ上で静的な表をインタラクティブな表に変えることができます. 表をソートしたり, 検索したり, ページ移動したりできるでしょう. DT はセルの整形もサポートしており, インタラクティブなアプリケーションの構築のため Shiny と連携して動作し, 多くの DataTables の拡張を導入します. 例えばエクセルへのエクスポート, 列の並び替えなどです. 詳細はパッケージのリポジトリ https://github.com/rstudio/DT を見てください.

  • reactable (Lin 2020): DT と同様にこのパッケージは JavaScript ライブラリを元にしてインタラクティブな表を作成します. 正直に言うと, 私が見る限り, 行のグループ化や HTML ウィジェットの埋め込み機能などいくつかの観点で DT より優れているようです. もし reactable が 2015年時点で存在していれば, 私は DT を開発していなかったと思います. とは言うものの, reactableDT にあるすべての機能を揃えていません. よってあなたはこのパッケージのドキュメント https://glin.github.io/reactable/ を読み, どちらが目的に合ったものかを知ることもできるでしょう.

  • rhandsontable (Owen 2021): これも DT と似ており, そして表上でデータを直接編集できるなど Excel っぽさがあります. 詳しく学ぶには https://jrowen.github.io/rhandsontable/ を見てください.

  • pixiedust (Nutter 2021): broom パッケージ (Robinson, Hayes, and Couch 2022) を介した統計モデル (線形モデルとか) 向けの表を作るのが特徴です. Markdown, HTML, LaTeX 出力フォーマットをサポートしています. リポジトリは https://github.com/nutterb/pixiedust です.

  • stargazer (Hlavac 2018): 回帰モデルと要約統計量の表を整形するのが特徴です. このパッケージは CRAN の https://cran.r-project.org/package=stargazer にあります.

  • xtable (Dahl et al. 2019): おそらく最古の作表パッケージです. 最初のリリースは2000年になります. LaTeX と HTML フォーマットの両方をサポートしています. パッケージは CRAN の https://cran.r-project.org/package=xtable にあります.

その他のパッケージは紹介しませんが, 名前だけ挙げておきます. tables (Murdoch 2020), pander (Daróczi and Tsegelskyi 2021), tangram (Garbett 2020), ztable (Moon 2021), condformat (Oller Moreno 2020) があります.

参考文献

Dahl, David B., David Scott, Charles Roosen, Arni Magnusson, and Jonathan Swinton. 2019. Xtable: Export Tables to LaTeX or HTML. http://xtable.r-forge.r-project.org/.
Daróczi, Gergely, and Roman Tsegelskyi. 2021. Pander: An r Pandoc Writer. https://rapporter.github.io/pander/.
Garbett, Shawn. 2020. Tangram: The Grammar of Tables. https://github.com/spgarbet/tangram.
Gohel, David. 2021a. Flextable: Functions for Tabular Reporting. https://CRAN.R-project.org/package=flextable.
Hlavac, Marek. 2018. Stargazer: Well-Formatted Regression and Summary Statistics Tables. https://CRAN.R-project.org/package=stargazer.
Hugh-Jones, David. 2021. Huxtable: Easily Create and Style Tables for LaTeX, HTML and Other Formats. https://hughjonesd.github.io/huxtable/.
Iannone, Richard, Joe Cheng, and Barret Schloerke. 2022. Gt: Easily Create Presentation-Ready Display Tables. https://CRAN.R-project.org/package=gt.
Lin, Greg. 2020. Reactable: Interactive Data Tables Based on React Table. https://CRAN.R-project.org/package=reactable.
Moon, Keon-Woong. 2021. Ztable: Zebra-Striped Tables in LaTeX and HTML Formats. https://github.com/cardiomoon/ztable.
Murdoch, Duncan. 2020. Tables: Formula-Driven Table Generation. https://r-forge.r-project.org/projects/tables/.
Nutter, Benjamin. 2021. Pixiedust: Tables so Beautifully Fine-Tuned You Will Believe It’s Magic. https://github.com/nutterb/pixiedust.
Oller Moreno, Sergio. 2020. Condformat: Conditional Formatting in Data Frames. http://github.com/zeehio/condformat.
Owen, Jonathan. 2021. Rhandsontable: Interface to the Handsontable.js Library. http://jrowen.github.io/rhandsontable/.
Ren, Kun, and Kenton Russell. 2021. Formattable: Create Formattable Data Structures. https://CRAN.R-project.org/package=formattable.
Robinson, David, Alex Hayes, and Simon Couch. 2022. Broom: Convert Statistical Objects into Tidy Tibbles. https://CRAN.R-project.org/package=broom.
Sjoberg, Daniel D., Michael Curry, Joseph Larmarange, Jessica Lavery, Karissa Whiting, and Emily C. Zabor. 2022. Gtsummary: Presentation-Ready Data Summary and Analytic Result Tables. https://CRAN.R-project.org/package=gtsummary.
Xie, Yihui, Joe Cheng, and Xianying Tan. 2021. DT: A Wrapper of the JavaScript Library DataTables. https://github.com/rstudio/DT.

  1. 平たく言うと, 自分では表を全く使いませんから, 洗練された表を作る方法を学ぶ強いモチベーションがありませんでした.↩︎

  2. 訳注: これらの差異について, 最新の情報とは限りませんし, 必ずしも網羅的ではないですが, 翻訳者自身の作成したドキュメントでいくらか言及しています. https://gedevan-aleksizde.github.io/rmdja/advanced-tabulate.html↩︎

  3. LaTeX や Word といった他の出力フォーマットへのサポートが必要ならば, gtsummary パッケージ (Sjoberg et al. 2022) はとても有望な gt を下地に拡張しています. https://github.com/ddsjoberg/gtsummary↩︎