knitrパッケージのkable関数を使えば、matrixやdata.frameなどの表形式をきれいに出力してくれるが、ftable関数を用いた多重クロス集計の結果は、kable関数を使うことができない。

これは非常に残念なので、他の方法できれいに出力する方法をお伝えする。ちなみにこの方法ではPDF出力のみの対応となるので注意してほしい。

手順を簡単に説明すると、多重クロス集計の部分だけをTexに変換して直接出力するというやり方となる。

まず準備として、ftable関数の結果をTexに変換するための関数をもつパッケージsimsalaparをインストールする。


> install.packages('simsalapar')

実際のコードの書き方は、以下のコードを見ていただければお分かりになるだろう。
simsalaparパッケージのtoLatex関数でTex形式に変換している。

注意点としては、まず、最初のheader-includesでbooktabsを呼び出して置かなければならない。これは、toLatex関数で変換された表に罫線topruleなどが含まれるからである。

次に、チャンク内の「result=’asis’」である。これは、このチャンク内で囲まれた部分の出力をそのまま渡すことを指定している。


---
title: "Sample"
header-includes:
   - \usepackage{booktabs}
output: 
    pdf_document:
        latex_engine: xelatex
---

```{r}
ft <- ftable(Titanic, row.vars = c(1, 2))

ft
```

```{r, results='asis'}
library(simsalapar)
toLatex(ft)
```

how-to-output-in-pdf-buautiful-multiplex-cross-tabulatoin-in-knitr-2

関連する記事

  • R スティール(Steel)法R スティール(Steel)法 スティール(Steel)法とは、ダネット(Dunnett)法の多重比較に対応するノンパラメトリックな多重比較である。 スティール法を簡単に言うと、正規分布を仮定しない1つの対照群と2つ以上の処理群間を順位を用いて多重比較で調べる方法である。 Rで、スティール法を使う場合は、「スティール(Steel)の方法による多重比較」のページにソースコードが紹介されている。 […]
  • R スティール・ドゥワス(Steel-Dwass)法R スティール・ドゥワス(Steel-Dwass)法 スティール・ドゥワス(Steel-Dwass)法とは、テューキー(Tukey)法の多重比較に対応するノンパラメトリックな多重比較である。 スティール・ドゥワス法を簡単に言うと、正規分布を仮定しない各群間を順位を用いて多重比較で調べる方法である。 Rで、スティール・ドゥワス法を使う場合は、「スティール・ドゥワス(Steel-Dwass)の方法による多重比較」のページにソ […]
  • R 関数に時間制限を設ける方法 ある処理にとても時間が掛かるため、一定時間経過後はその処理を途中で打ち切りたいときがある。 例えば、for文で、あるループだけが重いため全体として時間が掛かってしまう場合、その処理を一旦スキップしてfor文の先に処理を進めたい、などである。 ここでは、そのひとつの解決策として、関数に時間制限を設けて、一定時間経過後はその関数を強制終了するコードをご紹介する。 ただし […]
  • R MASSパッケージcorresp関数のエラー対処方法 RのMASSパッケージ内のcorresp関数を用いたとき、エラーに悩まされたので、皆様と共有しておく。 環境 Ubuntuのバージョン $ cat /etc/lsb-release […]
  • R スミルノフ・グラブス検定を繰り返し用いて外れ値を除去する方法 スミルノフ・グラブス検定は、正規分布を仮定した標本において、最大値または最小値が外れ値かどうか判定する検定の一つである。 外れ値を除去する際、外れ値を一つずつ検証することよりも、外れ値がすべて除去されたデータだけがほしいときもあるのではないだろうか。 ここでは、正規分布を仮定したデータからスミルノフ・グラブス検定を繰り返し用いて外れ値を除去するソースコードをご紹介する […]
R knitrできれいな多重クロス集計をPDFで出力する方法