Le code suivant produit 2 tables les unes sur les autres. Comment pourrais-je le configurer pour les aligner côte à côte, par exemple 3 à une rangée?
---
title: "sample"
output: pdf_document
---
```{r global_options, R.options=knitr::opts_chunk$set(warning=FALSE, message=FALSE)}
```
```{r sample, echo=FALSE, results='asis'}
library(knitr)
t1 <- head(mtcars)[1:3]
t2 <- head(mtcars)[4:6]
print(kable(t1))
print(kable(t2))
```
Mettez simplement deux trames de données dans une liste, par ex.
t1 <- head(mtcars)[1:3]
t2 <- head(mtcars)[4:6]
knitr::kable(list(t1, t2))
Notez que cela nécessite knitr> = 1.13.
J'ai utilisé ceci Aligner deux data.frames côte à côte avec knitr? qui montre comment le faire dans html
et ceci https://tex.stackexchange.com/questions/2832/how-can-i-have-two-tables-side-by-side pour aligner 2 tables Latex côte à côte. Il semble que vous ne puissiez pas ajuster librement les lignes du tableau comme vous pouvez le faire avec xtable
(quelqu'un en sait-il plus à ce sujet?). Avec format = Latex
vous obtenez une ligne horizontale après chaque ligne. Mais la documentation montre deux exemples pour d'autres formats. Un utilisant le package longtable
(argument supplémentaire: longtable = TRUE
) et l'autre en utilisant le package booktabs
(booktabs = TRUE
).
---
title: "sample"
output: pdf_document
header-includes:
- \usepackage{booktabs}
---
```{r global_options, R.options=knitr::opts_chunk$set(warning=FALSE, message=FALSE)}
```
```{r sample, echo=FALSE, results='asis'}
library(knitr)
library(xtable)
t1 <- kable(head(mtcars)[1:3], format = "latex", booktabs = TRUE)
t2 <- kable(head(mtcars)[4:6], format = "latex", booktabs = TRUE)
cat(c("\\begin{table}[!htb]
\\begin{minipage}{.5\\linewidth}
\\caption{}
\\centering",
t1,
"\\end{minipage}%
\\begin{minipage}{.5\\linewidth}
\\centering
\\caption{}",
t2,
"\\end{minipage}
\\end{table}"
))
```