如何更改Stargazer HTML表格宽度?

时间:2016-09-16 17:52:19

标签: r knitr r-markdown stargazer

我非常喜欢stargazer包使用的表格样式。使用Knitr和Rstudio,这些表在pdf中呈现得很好。然而,当我尝试将我的.Rmd编织成一个html页面时,这些表最终会被挤压在一起。块选项iconContainer: { display: 'flex', alignItems: 'center', paddingRight: 8, width: 24, }, 没有帮助,观星选项fig.width也没有帮助。有没有办法改变表格宽度,还是有其他工作流程来获取html中的漂亮汇总表?

可重复的例子:

column.sep.width

Latex rendering

HTML rendering

2 个答案:

答案 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;')
```

以下表格中没有填充和侧面额外填充

enter image description here

答案 1 :(得分:1)

创建后尝试进入文件中的实际HTML。将有一个table标签,用于确定样式,宽度等。例如,如果table标记为<table style="text-align:center">,则手动将宽度设置为<table style="text-align:center" width="3000">