在kable

时间:2017-07-09 00:20:26

标签: r knitr r-markdown

我正在表达一组古怪的行。每个组包含一个组的数据,每组有3到5行。为了便于阅读,我想在组之间的表格中留下空行,但无法使其工作。 我把所有NA放入一行,然后设置选项(knitr.kable.NA =“”)。在控制台中打印时,这可以正常工作,如下所示:

|C.01.C.00522 |        3|        1203|    0.043|                -0.096|           -16.441|
|C.01.C.00522 |        4|        8364|    0.298|                 0.159|            31.765|
|C.01.C.00522 |        5|        3494|    0.124|                -0.014|            -2.588|
|             |         |            |         |                      |                  |
|C.02.A.00577 |        1|        2496|    0.089|                -0.014|            -2.410|
|C.02.A.00577 |        2|        1975|    0.070|                -0.032|            -5.609|
|C.02.A.00577 |        3|        3400|    0.121|                 0.018|             3.297|

但是在渲染的pdf文档中,第一组有一个表,然后是所有未格式化的行。

C.01.C.00522 3 1203 0.043 -0.096 -16.441 C.01.C.00522 4 8364 0.298 0.159 31.765 C.01.C.00522 5 3494 0.124 -0.014 -2.588 C.02.A.00577 1 2496 0.089 -0.014 -2.410 C.02.A.00577 2 1975 0.070 -0.032 -5.609

我也尝试了选项(knitr.kable.NA ='。'),这会生成一个格式正确的表,但所有的点都有点烦人。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

感谢Imran提到kableExtra。在我上周发布的kableExtra 0.3中,一个名为collapse_rows的新函数在这种情况下可能会有所帮助。

dt <-data.frame(id =c(rep("C.01.C.00522", 3),rep("C.02.A.00577", 3)),var1 =c(3,4,5,1,2,3), var2 =c(1203, 8364, 3494, 2496, 1975, 3400))

kable(dt, "latex", booktabs = T) %>%
  collapse_rows(columns = 1)

Imgur