web-dev-qa-db-fra.com

Ajustement de la largeur des tableaux créés avec kable () dans les documents RMarkdown

Est-il possible d'ajuster la largeur des colonnes lors de la création de tableaux avec la fonction kable () dans knitr?

Un bloc comme celui-ci pour un tableau à deux colonnes produit un tableau qui occupe toute la largeur du document. Je voudrais rendre les colonnes plus étroites. Cela peut-il être fait avec kable () ou un autre paquet est-il nécessaire?

Ce morceau de rmarkdown

```{r}
df <- data.frame(x = 1:10,
           y = 11:20)
library(knitr)
kable(df)
```

Produit ce tableau enter image description here

L'alignement à gauche avec kable(df, align = "l") aide un peu mais j'aimerais que les deux colonnes soient adjacentes.

19
N Brouwer

Vous pouvez essayer le package kableExtra.

kable(x, "html") %>%
  kable_styling(full_width = F)
19
Hao

Ma nouvelle chose préférée est le paquet flextable parce que 1) les tableaux sont beaux, 2) vous pouvez contrôler plus facilement des choses comme la largeur et la taille de la police, et 3) ils sont bien rendus en HTML et Word. Utilisation de vos données:

```{r}
library(flextable)
library(magrittr)
df <- data.frame(x = 1:10, y = 11:20)
df %>% regulartable() %>% autofit() %>% 
width(j=~x,width=1) %>% width(j=~y,width=1)
```

Avec les deux valeurs de width définies sur 1, les colonnes sont rapprochées:

flextable-1

Si vous ajustez la dernière ligne à width(j=~x,width=2) %>% width(j=~y,width=2) le tableau ressemble à ceci:

flextable-2

4
mysteRious