私はあなたと非常によく似たワークフローを使用していますが、あなたの最善の策は、しばしば不格好なパッケージを放棄し、xtable
パッケージを使用しpander
てテーブルを印刷することです. pander()
ジェネリック関数でテーブルとして表示する可能性のあるオブジェクトをラップできます。pandoc.table()
これは、いくつかのオプションを持つ関数のラッパーです。オプションを指定すると、style = "XXX"
ここで求めていることを実現できます。4 つの異なるスタイルから選択できます。"multiline" (デフォルト)、"grid"、"simple"、または "rmarkdown"。私は頻繁に Rstudio 内から rmarkdown ドキュメントを編んでから、pander パッケージを使用してそれらを Word ドキュメントに変換します。
library(pander)
Pandoc.convert("C:/Users/BlahBlahBlah/Document.md", format="docx")
4 つのテーブル スタイルはすべて、.docx 形式に変換するとテーブル オブジェクトに変換されますが、.docx ドキュメントと最初の "knit" の結果である .html ファイルで適切に見えるテーブル スタイルは 1 つだけです。そのスタイルが「rmarkdown」です。この 2 つの方法を実装できます。1つは次のとおりです。
```{r table, results='asis'}
pandoc.table(myTable, style = "rmarkdown")
```
ただし、ドキュメントの冒頭で表のスタイルをグローバルに設定することを好みます。これにより、すべての表が同じ書式設定になるようpander(x)
にし、より詳細なものではなく、より簡潔なものを使用できるようにしpandoc.table(x, style = "someStyle")
ます。
```{r table, results='asis'}
panderOptions("table.style", "rmarkdown")
pander(myTable)
```
rmarkdown
ただし、スタイルの使用にはいくつかの副作用があります。主に、セル内の改行文字をサポートしていないため、購入者は注意してください。さまざまなスタイルを試してみた結果、生成する .html ファイルがばかげているように見えても、セル内の改行に柔軟性があるため、デフォルトのスタイルの「複数行」が気に入ったと最終的に判断しました。私は実際には .md ファイルから変換した .docx ファイルしか使用しないので、これは気になりません。役立つと思われる素敵なテーブルの作成に関するブログ記事を書きました。xtable()
およびいくつかのpander()
シナリオを含むいくつかの方法の長所と短所を比較検討します。