C'est vrai que base::dput() peut convertir au format "code à copier-coller" une gamme d'objets R beaucoup plus large que tibble::tribble(). Mais j'aime bien utiliser tribble() quand je dois utiliser une petite data.frame dans un exemple simple, comme ici, plutôt que la sortie de dput() car je trouve le format de tribble() beaucoup plus facile à lire dans un contexte pédagogique :)
Pour comparaison, voici la sortie de dput() pour générer le même objet z que le code du journal qui utilise tribble() :
structure(list(ville =c("Paris","Marseille","Lyon","Toulouse","Nice","Nantes","Montpellier","Strasbourg","Bordeaux","Lille","Rennes","Reims","Toulon","Saint-Étienne","Le Havre","Brest","Biarritz"), lat =c(48.86,43.3,45.76,43.6,43.7,47.22,43.61,48.57,44.84,50.64,48.11,49.26,43.12,45.43,49.49,48.39,43.48), lon =c(2.35,5.37,4.83,1.44,7.27,-1.55,3.88,7.75,-0.58,3.06,-1.68,4.03,5.93,4.39,0.1,-4.49,-1.56), superficie_km2 =c(105.4,240.62,47.87,118.3,71.92,65.19,56.88,78.26,49.36,34.51,50.39,47.02,42.84,79.97,46.95,49.51,11.66), habitants =c(2175601,868277,518635,486828,341032,314138,290053,284677,257068,233098,217728,182211,176198,173089,169733,139602,25532)), row.names =c(NA,-17L), class =c("tbl_df","tbl","data.frame"))
À noter aussi que vous pouvez utiliser le paquet datapasta pour générer facilement le code tribble() correspondant à la data.frame que vous voulez reproduire ! datapasta::dpasta() est un peu l'équivalent de base::dput() pour les tableaux de données. Par exemple, pour préparer le code du journal, je suis en fait parti des données stockées dans un fichier tsv puis j'ai utilisé :
library(readr)
z <- read_tsv("villes-france.tsv")
datapasta::dpasta(z)
[^] # Re: reproductible en collaboratif
Posté par Matthieu (site web personnel) . En réponse au journal Préparation de figures avec R : automatiser l'ajout d'annotations manuelles. Évalué à 3. Dernière modification le 20 septembre 2021 à 22:56.
C'est vrai que
base::dput()peut convertir au format "code à copier-coller" une gamme d'objets R beaucoup plus large quetibble::tribble(). Mais j'aime bien utilisertribble()quand je dois utiliser une petitedata.framedans un exemple simple, comme ici, plutôt que la sortie dedput()car je trouve le format detribble()beaucoup plus facile à lire dans un contexte pédagogique :)Pour comparaison, voici la sortie de
dput()pour générer le même objetzque le code du journal qui utilisetribble():À noter aussi que vous pouvez utiliser le paquet datapasta pour générer facilement le code
tribble()correspondant à ladata.frameque vous voulez reproduire !datapasta::dpasta()est un peu l'équivalent debase::dput()pour les tableaux de données. Par exemple, pour préparer le code du journal, je suis en fait parti des données stockées dans un fichier tsv puis j'ai utilisé :Ce qui m'a affiché dans ma console: