首页 > 解决方案 > 更改 sjTable 格式?

问题描述

我在下面有一个 sjTable,我想将其转换为数据表,这样我就可以使用 kable 函数进行更好的格式化。我尝试了几种方法,例如使用data.table(tbl),但它不起作用。

或者,如果有人知道我如何使用 CSS(在字体、间距、颜色主题方面)将此 sjTable 格式化为类似于 kable 表,那也将不胜感激。本质上,我想将字体更改为默认的 kable 表,并希望下表在 R markdown HTML 输出中的列和行之间更大/更多间距。

# load package
library(sjPlot)
library(haven)

# sample data
data("efc")
efc <- as_factor(efc, c161sex, c172code)

m1 <- lm(barthtot ~ c160age + c12hour + c161sex + c172code, data = efc)

tbl <- tab_model(m1, show.obs=FALSE)
tbl

在此处输入图像描述

标签: rkable

解决方案


tab_model而不是从模型本身中提取值中提取表。例如,broom::tidy为您提供所需的大部分值。

broom::tidy(m1)

#   term        estimate std.error statistic  p.value
#  <chr>          <dbl>     <dbl>     <dbl>    <dbl>
#1 (Intercept)   90.1      6.17      14.6   5.07e-43
#2 c160age       -0.222    0.0711    -3.12  1.90e- 3
#3 c12hour       -0.278    0.0186   -14.9   1.15e-44
#4 c161sex       -0.262    2.09      -0.125 9.00e- 1
#5 c172code      -0.762    1.42      -0.537 5.92e- 1

如果需要,您可以更改标签并在kable.


推荐阅读