【问题标题】:Controlling row height in kableExtra()在 kableExtra() 中控制行高
【发布时间】:2018-05-19 04:32:52
【问题描述】:

嗨,我用kableExtra 制作了这张很棒的桌子,但我唯一的问题是行的高度并不总是相等。有谁知道解决这个问题的方法吗?

我的桌子:

例如,如您所见,项目编号 22(第 6 行)的行的高度(间距)大于其他行。

我的代码:

my_column_names = c("Item number", "Item", 
                "Emotion", "Social", 
                "At Home", "Body", "Emotion", 
                "Social 1", "Social 2", 
                "At Home", "Body") 

kable(df1,
      format = "latex", booktabs = TRUE,
      col.names = my_column_names,
      caption = "Factor loadings for the 4 and 5 Factor Model") %>%
      kable_styling(latex_options = c("striped", "hold_position"),
                    full_width = FALSE) %>% 
      add_header_above(c(" " = 2, 
                 "4 Factor Model " = 4, "5 Factor model" = 5)) %>%
      add_header_above(c(" " = 2, 
                 "Model" = 9)) %>%
      kableExtra::landscape()

【问题讨论】:

    标签: r latex r-markdown kableextra kable


    【解决方案1】:

    通常,您可以通过 HTML 表格中的 CSS 进行更改。不确定如何使用kableExtra 执行此操作,但您可能需要考虑使用tableHTML 执行此操作。我在下面添加一个小示例来演示行高:

    library(tableHTML)
    tableHTML(mtcars[1:10, ], 
              border = 1,
              rownames = TRUE, 
              caption = 'This is a caption',
              footer = 'This is a footer',
              widths = c(140, rep(50, 11)),
              second_headers = list(c(2, 5, 6), c('', 'col2', 'col3')),
              theme = 'scientific') %>%
      add_css_row(list('height', '50px'), rows = 3:12)
    

    如果您不想使用,则无需使用科学主题。该软件包使您可以灵活地添加您喜欢的任何 CSS(如条纹行等)。有兴趣可以查看教程here

    附:它目前仅支持一个额外的标头。除此之外,您的整个表格都可以复制。

    【讨论】:

    • 如果您使用的是 Rmarkdown,您可以将其编织为 pdf 是的。
    • 感谢 @LyzanderR 将我指向您的包裹。 kableExtra-tables 在复制到 Outlook 时通常看起来很奇怪。 tableHTML-tables 可以很好地处理那个 Outlook 废话。
    【解决方案2】:

    行高不总是相等的原因是默认kable每5行插入一个\addlinespace。要摆脱它,请将linesep = "" 放入kable()。有关详细信息,请参阅Get rid of \addlinespace in kable

    【讨论】:

    • 哇,这行得通,我还可以在某些行上手动添加那些空格(我现在删除了)吗?这是为了更清楚地区分加载在一个因素上的项目组?
    • 我认为你可以,但我还没有尝试过。您也可以使用kableExtra 中的group_rows,但它会插入一个标签行以及您想要的空间。 :P
    猜你喜欢
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2020-01-31
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    相关资源
    最近更新 更多