LaTeX & R
Encore un site sur R !

Juste quelques trucs pour vous aider à débuter en R & LaTeX centré sur la production de rapports via knitr ou RMarkdown.

En clair je me suis fait un aide mémoire que je partage avec vous.

Dans un article de recherche, en particulier de recherche médicale, la section résultats comporte trois grands types de tableaux :

 le tableau 1 qui décrit la population
 un ou plusieurs tableaux comparatifs qui montre les résultats en fonction du critère étudié (traitement A vs traitement B par ex.). Ces tableaux sont, dans leur réalisation, très proches du tableau 1.
 un tableau présentant les résultats d’une analyse multivariée, souvent par régression logistique.

Le package gtsummary propose des fonctions qui permettent de créer facilement ces tableaux avec une finition claire, digne des grandes revues. Mais si les tableaux produits sont bien présentés l’esthétique est sommaire. On va fignoler en passant le résultat au package kableExtra. Les possibilités sont différentes selon le format de sortie, html ou LaTeX, voyez la doc.

Nous prendront comme exemple le data.frame trail2 fournit avec le package, données fictives d’un essai clinique.

Tableau 1 ou comparatif

Pour ces deux types de tableau nous utiliseront la fonction tbl_summary :

  1. library(gtsummary)
  2. data(trial)
  3. #
  4. trial |>
  5.   tbl_summary()

Télécharger

Le résultat est déjà très correct. Il est possible de sélectionner des variables & surtout de comparer les données selon une variable précise :

  1. trial |>
  2.   tbl_summary(by = trt) |>
  3.   add_p()

Télécharger

Il est possible d’affiner la présentation par exemple en mettant en gras les nomes des variables ou les p-values significatives, en ajoutant un titre etc. tout ça est très bien expliqué sur le site du package. Je voudrais juste présenter ici mon réglage personnel pour une sortie en pdf :

  1. tbl_summary(trial, by = trt) |>
  2.   add_p() |>
  3.   modify_spanning_header(c("stat_1", "stat_2") ~ "Traitement") |> # titre des colonnes
  4.   modify_caption("Tableau descriptif") |> # titre du tableau
  5.   bold_labels() |> #Nom des variables en gras
  6.   add_overall() |>
  7.   bold_p() |> # p-values significatives en gras
  8.   as_kable_extra(escape = FALSE,
  9.                  # Mise en forme des tableaux pour LaTeX
  10.                  booktabs = TRUE,
  11.                  longtable = TRUE) |>
  12.   kableExtra::kable_styling(position = "center",
  13.                             latex_options = c("repeat_header"))

Télécharger

Les derniers articles

Tableaux 1, comparatifs & régression
Publié le 30 novembre 2023
par Philippe MICHEL

Dans un article de recherche, en particulier de recherche médicale, la section résultats comporte trois grands types de tableaux :

– le tableau 1 (...)

GGPLOT & NA
Publié le 6 novembre 2023
par Philippe MICHEL

Vous avez dessiné un beau graphique grâce à ggplot2 mais apparaît une colonne (ou un boxplot...) pour le niveau NA ! Pafois ça a un sens mais (...)

Je passe (presque) à Rstudio
Publié le 28 décembre 2022
par Philippe MICHEL

Je suis un vieux con plein de manies. j’uilise Emacs depuis des années pour LaTeX via AucTeX bien entendu mais aussi pour Org-mode mais surtout R (...)

Quel éditeur pour TeX ?
Publié le 28 décembre 2022
par Philippe MICHEL

Le choix cornélien du débutant. J’ai moi-même beaucoup navigué et je vous livre ici le résultat de réflexions très personnelles. Deux approches

Selon (...)

De beaux graphiques
Publié le 20 juin 2022
par Philippe MICHEL

Voici un graphique simple : iris |>

ggplot() +

aes(x = Species, y = Petal.Length, fill = Species) +

geom_violin()

OK ça (...)

Des données dans un tableur
Publié le 5 mai 2022
par Philippe MICHEL

Un tableur comme Excel est un outil de comptabilité analytique & n’a jamais été conçu pour stocker des données. Néanmoins ces logiciels sont (...)

Commencer un travail
Publié le 14 avril 2022
par Philippe MICHEL

Un collègue vient de vous envoyer ses données à traiter sous forme d’un tableur. bien entendu ces données ne sont pas exploitables tel quelles. Que (...)

Des labels trop longs
Publié le 24 février 2022
par Philippe MICHEL

Il va donc falloir mettre ces labels sur plusieurs lignes. Il existe heureusement une fonction ad hoc dans le package stringr : str_wrap. (...)

Nouveau projet, nouveau dossier
Publié le 17 février 2022
par Philippe MICHEL

Ce sont les flemmards qui font avancer le monde & dans ce domaine j’ai des compétences !

Donc un nouveau projet (voir mes conseils), un (...)

Préparer un jeu de données
Publié le 15 décembre 2021
par Philippe MICHEL

Voire aussices quelques conseils pour avoir un fichier sur un tableur utilisable. Avant tout

Quand on vous envoie un fichier à traiter, le plus (...)