在我的Rmarkdown报告中,我使用Package阿森纳的tableby()函数构建了一个表,然后我将表推入到kable()和kableExtra的kable_styling()中,以便在Rmarkdown HTML文档中创建漂亮的表。我有许多表格,并希望打印尽可能精简的高度,即最低行高。
为了最小化行高,我尝试减少font_size,应用bootstrap_options = c("condensed"),并更改表格单元格填充的CSS。
我遇到的问题是,tableby对象中的缩进/符号点似乎在该行的文本下面创建了额外的空白/行。
我更愿意继续使用可使用/可使用的_ tableby,因为它是我在整个Rmarkdown文档中使用的,但我对与阿森纳的表很好地工作的替代方案持开放态度。
以下是我尝试过的:
---
title: "Untitled"
output: html_document
---
# In a CSS chunk
table, th, td {
padding-top: 0px !important;
padding-bottom: 0px !important;
vertical-align: middle;
}
# Chunck options
knitr::opts_chunk$set(echo = TRUE, results = 'asis')
# Packages
library(dplyr)
library(knitr)
library(kableExtra)
library(arsenal)
# Create table object
my_tbl <- tableby(arm ~ age + sex + race + ps + bmi,
data= mock_df, test=FALSE, total=FALSE)
# Push table object through kable and kable_styling
my_tbl %>%
summary(text=TRUE, digits.pct=1, digits=1) %>%
kable() %>%
kable_styling(full_width = FALSE, bootstrap_options = c("condensed"), font_size = 12) %>%
row_spec(2:3, bold = F, extra_css = 'vertical-align: middle !important;')下面是结果。具有可变名称的行(“年龄中的年份”、“性别”、"ps")具有我所希望的行高,但以符号点开头的行在下面似乎有一个额外的白线或空格。为了了解问题所在,我将第二行和第三行的垂直对齐设置为“中间”,这只适用于第二、第三和第四列,而不是带有重点的第一列。

对于去掉点行下方的空白的任何帮助都是非常感谢的。
发布于 2022-07-27 15:58:11
您可以通过调整该表中使用的lists的CSS属性,即将margin-bottom of ul在table中设置为0,将list-style设置为none,从而删除额外的空间和符号点。
(由于您没有提供示例数据,所以我使用了内置数据集mtcars来说明这是如何工作的,但是这也适用于您的情况)
---
title: "Untitled"
output: html_document
---
```{r setup, include=FALSE}Knitr::opts_chunk$set(回声=真,结果= 'asis')
```{css, echo=FALSE}表th,td {
填充-顶部:0 0px!重要;
填充-底部:0 0px!重要;
垂直对齐:中间;
}
表,ol,ul {
margin-top: 0;margin-bottom: 0px; list-style: none;}
```{r packages, message=FALSE, warning=FALSE}图书馆(Dplyr)
图书馆(针织品)
图书馆(KableExtra)
图书馆(武库)
```{r create-table}创建表对象
my_tbl <- tableby(vs ~ cyl + hp + disp +齿轮,
data= mtcars, test=FALSE, total=FALSE)```{r kable-table}通过kable和kable_styling推送表对象
my_tbl %>%
摘要(text=TRUE,digits.pct=1,digits=1) %>%
kable() %>%
kable_styling(full_width = FALSE,bootstrap_options =c(浓缩),font_size = 12) %>%
row_spec(2:3,粗体= F,extra_css =‘垂直对齐:中间!重要;’)
现在这张桌子看起来像

https://stackoverflow.com/questions/73138214
复制相似问题