Rのパッケージであるstargazerは、2018年から開発がストップしており、cranから消える日もそう遠くはない。
多くの方が、代替パッケージを探していると思うが、回帰分析のテーブルを出力するパッケージについての記事は多くあるのにも関わらず、記述統計を出力するパッケージについての記事がほとんどないので、本稿を書くことにした。
vtableパッケージ
個人的にもっともstargazerに近い操作性なのは、vtableパッケージだ。
細かい関数や引数についてはリンク先を見て欲しいが、今回は簡単にstargazerと同じ表を出力するコードの例を示す。
この他にも、LaTeXの調整の引数や、ファクター型の変数に応じたGroup統計量を表示可能である。
library(tidyverse)
library(kableExtra)
library(vtable)
data %>% # 対象のデータ
sumtable(
.,
# 表示する統計量の指定
summ = c(
'notNA(x)','mean(x)',
'sd(x)','min(x)','max(x)'
),
# 統計量の表示名の指定
summ.names = c(
'N','Mean','Std. Dev.','Min','Max'
),
# タイトル
title = "Descriptive Statistics",
# 出力ファイル指定
# "latex"や"latexdoc"でLaTeX出力もできる
# "htmlreturn"でhtml形式の出力
# "return"でデータフレーム形式の出力
# "browser"でウェブブラウザで確認可能
# "viewer"でRstudio上のViewer欄で確認可能
out = "return"
)
vtable+kable(kableExtra)
vtableだけでは、LaTeXの細かな調整に満足いかないことも多い。
このような場合はout = "return"でデータフレームで出力した後に、kable(kableExtra)で調整すればよい。
kable(kableExtra)については日本語記事が多いので解説しない。
library(tidyverse)
library(kableExtra)
library(vtable)
data %>%
sumtable(
.,
summ = c(
'notNA(x)','mean(x)',
'sd(x)','min(x)','max(x)'
),
summ.names = c(
'N','Mean','Std. Dev.','Min','Max'
),
title = "Descriptive Statistics",
out = "return"
) %>%
# vtableから出力されたデータフレームをkableに渡す。
kable(
.,
linesep = "",
booktabs = T,
format = "latex",
digits=2,
align = "c",
caption ="Group by Year",
label = "Group by Year"
) %>%
kable_styling(
latex_options = c("hold_position"),
font_size = 9,
full_width = F
)

