我非常喜欢stargazer包使用的表格样式。使用Knitr和Rstudio,这些表在pdf中呈现得很好。然而,当我尝试将我的.Rmd编织成一个html页面时,这些表最终会被挤压在一起。块选项iconContainer: {
display: 'flex',
alignItems: 'center',
paddingRight: 8,
width: 24,
},
没有帮助,观星选项fig.width
也没有帮助。有没有办法改变表格宽度,还是有其他工作流程来获取html中的漂亮汇总表?
可重复的例子:
column.sep.width
答案 0 :(得分:5)
我对htmlTable::htmlTable
有很大的偏见,但无论如何我会加上这个。顾名思义,htmlTable
仅用于制作表格,因此不包括观星者的所有铃声和口哨,但此功能有许多选项可用于自定义输出。因此,您可能需要做额外的工作才能获得放入表格所需的输出。
与其他答案类似,您可以使用css来操纵表格的样式。例如,您可以将css传递给css.cell
:
---
output: html_document
---
```{r test, results='asis', include=FALSE}
stargazer::stargazer(attitude,
type = "html",
digits = 2,
summary.stat = c("mean","sd","median","min", "max"))
```
```{r}
## apply a list of functions to a list or vector
f <- function(X, FUN, ...) {
fn <- as.character(match.call()$FUN)[-1]
out <- sapply(FUN, mapply, X, ...)
setNames(as.data.frame(out), fn)
}
(out <- round(f(attitude, list(mean, sd, median, min, max)), 2))
```
```{r, results='asis'}
library('htmlTable')
htmlTable(out, cgroup = 'Statistic', n.cgroup = 5, caption = 'Table 1: default')
htmlTable(out, cgroup = 'Statistic', n.cgroup = 5, caption = 'Table 1: padding',
## padding to cells: top side bottom
css.cell = 'padding: 0px 10px 0px;')
```
以下表格中没有填充和侧面额外填充
答案 1 :(得分:1)
创建后尝试进入文件中的实际HTML。将有一个table
标签,用于确定样式,宽度等。例如,如果table
标记为<table style="text-align:center">
,则手动将宽度设置为<table style="text-align:center" width="3000">