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

问题是,使用xtable时,我将<th>包裹在<tr>中,但没有别的,因此RMarkdown表和xtables中的HTML代码看起来彼此不同。

我可以更改css,但我不希望这样做,因为它也用于其他用途-我特别希望将RMarkdown表与xtable-tables一起使用相同的CSS。

这是我的代码(在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')"

产生“test.md”,其中表头看起来像这样:
<!-- 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对齐?

最佳答案

使用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. |

关于html - html输出中的xtable thead,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25886117/

10-12 18:50