r - 使用 express 在 R Markdown 中格式化表格

标签 r markdown knitr expss

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

knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE)

按照 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")

此代码在 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 |

同样,它在 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.")

但是,当我将代码放入我的 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.

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

我使用 panderkablekableExtra 临时修复了它>
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)

并得到这个结果:

output table from the previous code

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

expss table example from vignette

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

提前谢谢了

马诺洛

最佳答案

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

但是,我也期待在 PDF 或 Word 中有同样漂亮的表格的可能性。

关于r - 使用 express 在 R Markdown 中格式化表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58112118/

相关文章:

apache-flex - 将 Markdown 转换为 HTML 的 ActionScript 库

r - 如何让xtable在knitr文档中默认绘制垂直线

r - 如果case_when找到特定结果,则停止执行

r - R中正则表达式的奇怪行为

r - 尝试向 choroplethr 县 map 添加边框颜色时找不到对象 'value'

Python Markdown : How can I config Base URL for Media when markdown string into HTML

javascript - 客户端html Markdown 转换

R Shiny 的仪表板,markdown knitr::kable 网格线在升级后消失了

r - 如何在 R knitr 中包装一个非常长的段落 R 输出

r - 导入地址文本文件