web-dev-qa-db-fra.com

Alignez plusieurs tables côte à côte

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))
```

La sortie ressemble à ceci: enter image description here

17
Doug Fir

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.

23
Yihui Xie

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}"
))  
```

enter image description here

16
Alex