控制kableExtra()中的行高度

控制kableExtra()中的行高度,r,latex,r-markdown,kableextra,kable,R,Latex,R Markdown,Kableextra,Kable,嗨,我用kableExtra制作了这个很棒的表格,但我唯一的问题是行的高度并不总是相等的。有人知道这方面的补救办法吗 我的桌子: 例如,如您所见,项目编号22(第6行)的行比其他行的高度(间距)更大 我的代码: my_column_names = c("Item number", "Item", "Emotion", "Social", "At Home", "Body", "Emotion",

嗨,我用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()

通常,这是可以通过HTML表中的CSS进行更改的内容。不知道如何用<代码> Kable Euth这样做,但是您可能需要考虑<代码> Table HTML<代码>。我在下面添加一个小示例来演示行高:

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(如条带行等)。如果有兴趣,你可以查阅教程


另外,它目前只支持一个额外的标题。除此之外,还可以复制整个表。

行高不总是相等的原因是默认情况下,
kable
每隔5行插入一个
\addlinespace
。要摆脱它,请将
linesep=“”
放入
kable()
中。有关详细信息,请参阅

如果您使用的是Rmarkdown,您可以将其编织成pdf格式。是的。感谢@LyzandeR为我指点您的软件包
kableExtra
-表复制到Outlook时通常看起来很奇怪
tableHTML
-表格可以很好地处理Outlook垃圾。哇,这很有效,我可以在某些行上手动添加这些空格(我现在删除了这些空格)吗?这是为了更清楚地区分在一个因素上加载的项目组?我想你可以,但我还没有尝试过。您也可以使用
kableExtra
中的
group_行
,但它会将标签行与所需空间一起插入:P