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 文字列の行を指定した幅で強制的に折り返す方法R 文字列の行を指定した幅で強制的に折り返す方法 R […]
  • DockerでMySQL8.0を使う方法DockerでMySQL8.0を使う方法 DockerでMySQL8.0を使用できるまでの手順をお伝えします。 ここでは、docker-composeとDocker公式のMySQL8.0イメージを用います。 環境 ホストOS ホストOSはUbuntu 20.04を用いております。 $ cat /etc/lsb-release […]
  • 決定木 – 回帰木決定木 – 回帰木 ここでは、決定木の目的変数が連続値である場合の回帰木について、R言語の「rpart」パッケージを用いて簡単に見ていく。 まずは必要となるパッケージのインストールとロードを行う。「rpart」パッケージは決定木を行うためのものだが、「rpart.plot」と「partykit」パッケージは結果を視覚的に表示するために使うので、あらかじめインストールとロードをしておく。 […]
  • RaspberryPi Bluetoothスピーカーとの接続を維持する方法 Bluetoothスピーカーと接続していても、音を出していないとBluetoothスピーカー側がスリープモードに入り、必要な時に音が出ない場合がある。ここでは、Bluetoothスピーカーとの接続が切れないようにする方法をお伝えする。 アイディアはとても簡単で、ある一定時間ごとに無音のサウンドを出力し続けることにより、Bluetoothスピーカーとの接続を維持する。 […]
  • R言語 CRAN Task View:統計遺伝学R言語 CRAN Task View:統計遺伝学 CRAN Task View: Statistical Geneticsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載した。 Maintainer: Giovanni Montana Contact: g.montana at […]
R knitrできれいな多重クロス集計をPDFで出力する方法