在html输出中的xtable thead

时间:2014-09-17 08:50:43

标签: html r xtable

我在R中使用xtableknitr生成一些漂亮的表格。我想使用让我们成为<thead>的CSS。

问题在于xtable<th>包含<tr>,但没有别的,所以RMarkdown表和xtables的HTML代码看起来彼此不同。

可以更改css,但我不愿意,因为它也用于其他事情 - 我特别喜欢使用与RMarkdown表相同的CSS和xtable-表。

这是我的代码(在test.Rmd中)

```{r, comment=NA, results="asis", tidy=TRUE, echo=TRUE, message=FALSE, warning=FALSE}
require(xtable)
options(xtable.type = 'html')
xtable( mtcars )
```

| Lorem ipsum dolor sit amet. | Lorem ipsum dolor sit amet. |
|-----------------------------|-----------------------------|
| Lorem ipsum dolor sit amet. | Lorem ipsum dolor sit amet. |

然后我跑

Rscript -e "library(knitr); knit2html('test.Rmd')"

生成&#39; test.md&#39;其中表头如下所示:

<!-- html table generated in R 3.1.1 by xtable 1.7-3 package -->
<!-- Wed Sep 17 09:53:11 2014 -->
<TABLE border=1>
<TR> <TH>  </TH> <TH> mpg </TH> <TH> cyl </TH> <TH> disp </TH> <TH> hp </TH> <TH> drat </TH> <TH> wt </TH> <TH> qsec </TH> <TH> vs </TH> <TH> am </TH> <TH> gear </TH> <TH> carb </TH>  </TR>

但我希望得到类似于上面RMarkdown表格所生成的内容。

<table><thead>
<tr>
<th>Lorem ipsum dolor sit amet.</th>
<th>Lorem ipsum dolor sit amet.</th>
</tr>
</thead><tbody>
<tr>
<td>Lorem ipsum dolor sit amet.</td>
<td>Lorem ipsum dolor sit amet.</td>
</tr>
</tbody></table>

问题 如何将<thead><tbody>添加到xtable输出,以便对齐RMarkdown表和xtablesx?

1 个答案:

答案 0 :(得分:5)

使用kable代替xtable来获取您描述的输出:

```{r, comment=NA, results="asis", tidy_source=TRUE, echo=TRUE, message=FALSE, warning=FALSE}
require(knitr)
kable( mtcars, format="html")
```

| Lorem ipsum dolor sit amet. | Lorem ipsum dolor sit amet. |
|-----------------------------|-----------------------------|
| Lorem ipsum dolor sit amet. | Lorem ipsum dolor sit amet. |