使用 expss 在 R Marksdown 中格式化表格

Man*_*lo 5 markdown r knitr expss

我有在格式化使用一些表格一些麻烦expss的一个R Markdown。输出是一个pdf文件。knitr选项是:

knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE)
Run Code Online (Sandbox Code Playgroud)

跟随小插图expss(可在此处获得https://cran.r-project.org/web/packages/expss/vignettes/tables-with-labels.html),我编写了以下代码:

sl_expss_long %>%  # the tibble
  calc_cro_cpct(
    cell_vars = list(br, cl, cm, fgm, vd), # rows
    col_vars = list(total(), area) # columns
  ) %>% 
  set_caption("Table 1")
Run Code Online (Sandbox Code Playgroud)

此代码在 中运行良好R Studio,并生成此表:

 Table 1                                                                                    
 |                                      |              |  #Total |   Area |        |
 |                                      |              |         |  Rural |  Urban |
 | ------------------------------------ | ------------ | ------- | ------ | ------ |
 |                   Birth registration |        FALSE |    64.4 |   61.6 |   70.9 |
 |                                      |         TRUE |    35.6 |   38.4 |   29.1 |
 |                                      | #Total cases |  8207.0 | 5732.0 | 2475.0 |
 |                         Child labour |        FALSE |    50.5 |   47.0 |   64.2 |
 |                                      |         TRUE |    49.5 |   53.0 |   35.8 |
 |                                      | #Total cases |  5136.0 | 4085.0 | 1051.0 |
 |                       Child marriage |        FALSE |    98.8 |   98.6 |   99.2 |
 |                                      |         TRUE |     1.2 |    1.4 |    0.8 |
 |                                      | #Total cases | 12158.0 | 7827.0 | 4331.0 |
 | Female genitale mutilation / cutting |        FALSE |     8.2 |    7.6 |    9.3 |
 |                                      |         TRUE |    91.8 |   92.4 |   90.7 |
 |                                      | #Total cases |  9203.0 | 6144.0 | 3059.0 |
 |             Violent child discipline |        FALSE |     9.9 |   10.4 |    8.9 |
 |                                      |         TRUE |    90.1 |   89.6 |   91.1 |
 |                                      | #Total cases | 11547.0 | 7818.0 | 3729.0 |
Run Code Online (Sandbox Code Playgroud)

同样,它适用于R Studio以下代码:

sl_expss_long %>% 
  tab_cells(br, cl, cm, fgm, vd) %>%
  tab_cols(total(), area) %>% 
  tab_stat_cpct() %>%
    tab_pivot() %>% 
  set_caption("Table with summary statistics and significance marks.")
Run Code Online (Sandbox Code Playgroud)

但是,当我将代码放入 my 时R Markdown,我得到以下结果:

Table with summary statistics
National
Area
Rural
Urban
Birth registration
FALSE
64.4
61.6
70.9
TRUE
35.6
38.4
29.1
#Total cases
8207

etc.
Run Code Online (Sandbox Code Playgroud)

我的桌子只有一列宽,三页长。

我暂时使用pander,kablekableExtra>

sl_expss_long %>% 
  tab_cells(br, cl, cm, fgm, vd) %>%
  tab_cols(total(label = " National| |"), area) %>% 
  tab_stat_cpct() %>%
  tab_pivot() %>% 
  set_caption("Table with summary statistics") %>% 
  split_table_to_df() %>% 
  kable(caption = "Table with summary statistics") %>% 
  kable_styling(bootstrap_options = c("striped"),
               latex_options = "hold_position") %>% 
  row_spec(1:2, bold = TRUE)
Run Code Online (Sandbox Code Playgroud)

并得到这个结果:

上一代码的输出表

如您所见,表from在表R Markdown的开头添加了一行,并且“区域”一词应该位于“农村”和“城市”之上。这是基于我对小插图的理解expss在 a中使用R Markdown会产生我们可以在小插图中看到的表格。

小插图中的 expss 表示例

对我可能缺少的东西有什么帮助吗?

提前谢谢了

马诺洛

小智 0

你能说一下,你正在编织什么样的文件吗?就我而言,它适用于 HTML 文档,正如小插图中所述。但对于 Word 或 PDF/Latex 文档,它不起作用,并且与问题中所示的效果相同。

然而,我也期待着能够在 PDF 或 Word 中拥有同样漂亮的表格。