[PDF] Comment rédiger un rapport scientifique reproductible avec knitr





Previous PDF Next PDF



résultats

Sources • DREES enquête Urgences



Outils de sécurisation et dauto-évaluation de ladministration des

Cadre de l'urgence médicaments réservés. Officine. Convention pour chaque patient. + si besoin. Convention. Pharmacie ES. Médicaments réservés.



Untitled

urgence sanitaire par la diffusion d'information et de modules de Mehdi Benchoufi (Docteur en mathématiques



Femmes enceintes ayant une complication au cours de leur

Organisation de la régulation des transferts in utero en urgence Institut national de la statistique et des études économiques.



PGE PGO

Pour les classes préparatoires scientifiques (Math Spé ENS Cachan) et les étu- ... Il y a urgence à regrouper en trois pôles : sécurité



REAGIR MAINTENANT POUR LIMITER UNE NOUVELLE VAGUE

6 juil. 2021 (Institut Pasteur) a utilisé des modèles mathématiques permettant d'anticiper ... Le Conseil scientifique insiste donc sur l'urgence et ...



Comment rédiger un rapport scientifique reproductible avec knitr

8 oct. 2021 productible intégrant automatiquement des analyses statistiques et ... 2 Aide SVP Urgent !!! ... You can't use `spacefactor' in math mode.



Institut Montaigne

En France la plupart des développeurs ont été formés aux mathématiques appliquées





La tétralogie de Fallot

cardiaque il peut faire des malaises typiques de la maladie qui sont une urgence médicale. (malaises de Fallot). Ces malaises se produisent en général le 

Fiche TD avec le logiciel:knitr

Comment rédiger un rapport scientifique

reproductible avecknitr,RMarkdownet plein d"autres amis P rJean R. Lobry Cette fiche donne quelques indications pour rédiger un rapport re- productible intégrant automatiquement des analyses statistiques et des graphiques produits par. On essaye de baliser ici une ran- donnée d"initiation à travers les différents langages de balisage utiles à l"accomplissement de cet objectif. Il s"agit ici plus des grandes lignes d"un programme d"exploration que d"un document visant à l"exhaustivité.

Contents

1 Introduction 3

1.1 Écrire un rapport . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2 Approche artisanale : copier/coller manuel . . . . . . . . . . . . .

3

1.3 La programmation littéraire . . . . . . . . . . . . . . . . . . . . .

4

1.4 Les systèmes de gestion de version . . . . . . . . . . . . . . . . .

7

2 Aide SVP Urgent !!! 7

2.1 Les forums de discussion . . . . . . . . . . . . . . . . . . . . . . .

7

2.2 Qu"est-ce qu"un code reproductible ? . . . . . . . . . . . . . . . .

8

2.3 Comment insérer des données dans un message . . . . . . . . . .

10

2.4 Comment détailler son environnement de travail . . . . . . . . .

11

2.5 L"étiquette[Résolu]. . . . . . . . . . . . . . . . . . . . . . . . .12

3 Approche professionnelle : utilisation dekintretRMarkdonw12

3.1 Qu"est ce quekintr? . . . . . . . . . . . . . . . . . . . . . . . .12

3.2 Qu"est ce queRMarkdown? . . . . . . . . . . . . . . . . . . . . .12

3.3 Qu"est-ce quepandoc? . . . . . . . . . . . . . . . . . . . . . . .18

3.4 Pré-requis : installer un paquet. . . . . . . . . . . . . . . . .19

3.4.1 Paquets ne nécessitant pas d"être compilés . . . . . . . . .

19

3.4.2 Paquets nécessitant d"être compilés . . . . . . . . . . . . .

20

3.4.3 Paquets nécessitant un programme externe . . . . . . . .

21
1 P rJean R. Lobry3.5 Pré-requis : installer L

ATEX . . . . . . . . . . . . . . . . . . . . .21

3.5.1 La distribution TinyTEX . . . . . . . . . . . . . . . . . . .21

3.5.2 Un petit test . . . . . . . . . . . . . . . . . . . . . . . . .

22

3.5.3 Mise à jour . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.5.4 Pré-visualisation . . . . . . . . . . . . . . . . . . . . . . .

23

3.5.5 Le mode visuel . . . . . . . . . . . . . . . . . . . . . . . .

23

3.6 Un exempleRMarkdowminimaliste . . . . . . . . . . . . . . . . .24

3.7 Dossier de travail et reproductibilité . . . . . . . . . . . . . . . .

26

3.8 Séparation de la forme et du fond . . . . . . . . . . . . . . . . . .

27

3.9 Choix du format de sortie . . . . . . . . . . . . . . . . . . . . . .

29

3.10 Structuration du document . . . . . . . . . . . . . . . . . . . . .

31

3.11 Gérer les références bibliographiques . . . . . . . . . . . . . . . .

32

3.11.1 Importance des références bibliographiques . . . . . . . .

32

3.11.2 Principe de surjectivité . . . . . . . . . . . . . . . . . . .

33

3.11.3 Le format BibTEX . . . . . . . . . . . . . . . . . . . . . .33

3.11.4 Première et seconde main . . . . . . . . . . . . . . . . . .

35

3.11.5 Nomenclatures particulières . . . . . . . . . . . . . . . . .

36

4 Tricotage 38

4.1 Insérer du code. . . . . . . . . . . . . . . . . . . . . . . . . .38

4.2 Récupérer le résultat d"un calcul. . . . . . . . . . . . . . . . .45

4.3 Insérer un tableau . . . . . . . . . . . . . . . . . . . . . . . . . .

46

4.4 Insérer une figure . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

5 Les langages de balisage 48

5.1 Pas YAML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48
5.2 L ATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48

5.3 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

5.4 RMarkdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48
Références 48version 4.1.1 (2021-08-10) Page2/55 URL :https://pbil.univ-lyon1.fr/R/pdf/knitr.pdfCompilé le 2021-10-08 P rJean R. Lobry1 Introduction

1.1 Écrire un rapport

I lexiste deux grandes approches pour rédiger un rapport faisant appel à des analyses et à des graphiques produits sous. 1. Une première appro che,que nous qualifierons d"artisanale, sans aucun sens péjoratif, est destinée à la production d"un nombre très restreint de rapports tous très courts. Cette approche est adaptée si vous n"envisagez de produire que des rapports de façon sporadique et que vous n"êtes pas intéressé par une carrière scientifique au sens large du terme. 2. Une deuxième appro che,qu enous qualifierons de professionnelle, est plus adaptée à la production de nombreux rapports, ou d"un rapport de taille conséquente. Elle consiste à intégrer directement le codedans le rapport et à utiliserpour produire les graphiques et les analyses à intégrer directement dans le document final (oui c"est possible !). Ceci garanti la parfaitereproductibilitéde vos résultats.

1.2 Approche artisanale : copier/coller manuel

C etteapproche consiste simplement à ouvrir simultanémentet votre traitement de texte favori pour copier/coller les résultats qui vous in- téressent :Voici quelques indications utiles pour obtenir un résultat acceptable : ?Pour les graphiques, commencez par re-dimensionner la fenêtre graphique dansjusqu"à ce que vous soyez satisfait du résultat. Copier/coller version 4.1.1 (2021-08-10) Page3/55 URL :https://pbil.univ-lyon1.fr/R/pdf/knitr.pdfCompilé le 2021-10-08 P rJean R. Lobryensuite le graphique dans votre traitement de texte, puis re-dimensionnez le, de façon proportionnelle en x et y pour ne pas introduire de distorsions, pour obtenir la taille finale désirée. ?Pour les commandesentrées dans la console, copiez/collez les dans le traitement de texte puis supprimez le caractère d"invite de commande (par défaut le caractère">") de la console. Ceci vous permettra ultérieure- ment de facilement copier/coller dans l"autre sens, de votre traitement de texte vers. Définissez un style pour mettre en évidence qu"il s"agit de commandes, par exemple en utilisant une police de caractèresnon proportionnelle, éventuellement decouleur rougepour signifier qu"il s"agit de commandesen entrée. ?Pour les résultats obtenus dans la console, définissez un style similaire à celui des entrées, mais changez la couleur, par exemple encouleur bleue, pour mettre en évidence qu"il s"agit de résultats, et non d"entrées. ?Pour intégrer des résultats numériques dans le corps du texte, il vous faudra faire un copier/coller de plus, veillez à maintenir la cohérence de l"ensemble ! C etteapproche permet de générer facilement de petits documents de qual- ité, mais elle trouve très rapidement ses limites car il est extrêmement fastidieux de maintenir la cohérence entre les différents éléments du rapport. Supposez par exemple que vous ayez envie de modifier un graphique, pour par exemple lui rajouter un titre. Il vous faudra alors générer le graphique modifié sous, mais comme vous avez oublié de noter quelque part la dimension du périphérique utilisé dans la version précédente, vous allez perdre du temps pour retrouver un résultat acceptable. Puis il faudra copier/coller le graphique dans le traitement de texte, et de nouveau, le re-dimensionner à la main (et encore une fois vous n"avez pas noté ce que vous aviez fait la dernière fois, encore du temps perdu à tâtonner pour retrouver quelque chose d"à peu près similaire). Mais ce n"est pas fini : le coden"est plus cohérent avec le graphique, il faut une nouvelle opération manuelle de copier/coller, et de remise en forme dans le traitement de texte, pour assurer la cohérence. Et, bien entendu, si vous avez intégré des résultats numériques dans le corps du texte, il faudra une troisième opération manuelle de copier/coller pour mettre tout le document en cohérence. On arrive très rapidement aux limites de l"exercice.

1.3 La programmation littéraire

T outa commencé en 1984 quand Donald Knuth a introduit le concept depro- grammation littéraire[50]. Dans un exercice de programmation classique vous expliquez à l"ordinateur ce que vous voulez qu"il fasse pour vous. Vous pouvez commenter votre code, par exemple ci-dessous tout ce qui suit le carac- tère#sera ignoré par l"ordinateur, pour aider un lecteur humain à comprendre ce que vous avez essayé de faire : factorielle <- function(n){ n <- as.integer(n) # users are loosers if(n < 0) stop("n < 0") # idem if(n == 0) return(1) # by def return(n*factorielle(n - 1)) # by rec }version 4.1.1 (2021-08-10) Page4/55 URL :https://pbil.univ-lyon1.fr/R/pdf/knitr.pdfCompilé le 2021-10-08 P rJean R. LobryD onaldKnuth propose d"inverser les choses et de considérer qu"un pro- gramme est une œuvre littéraire dans laquelle vous essayez d"expliquer à autre êtrehumaincomment vous avez tenté de vous faire obéir par un ordi- nateur. Cela pourrait ressembler à ceci :C ommeon peut le constater ici, le code du programme est passé en quelque sorte encommentairede votre document. Mais ce sont des commentaires particuliers dans le sens où ils sont compréhensibles par l"ordinateur. On peut

donc lui demander de les exécuter pour produire le document final :version 4.1.1 (2021-08-10) Page5/55

URL :https://pbil.univ-lyon1.fr/R/pdf/knitr.pdfCompilé le 2021-10-08 P rJean R. LobryN ousn"insisterons pas plus sur la syntaxenoweb[81] illustrée ici parce que ce n"est pas celle que vous utiliserez pour rédiger votre rapport. On notera simplement avec amusement qu"on la voit parfois pointer le bout de son nez, par exemple quand on veut ré-utiliser un fragment de code (cfparagraphe 4.1 page 38).L esoutils développés pour faire de la programmation littéraire ont rapidement été adoptés par les scientifiques soucieux d"assurer la reproductibilité de leurs résultats. Pour que vos lecteurs puissent facilement reproduire vos résultats il faut leur donner accès non seulement aux données mais aussi aux méthodes que vous avez utilisées. C"est donc un exercice de programmation littéraire sur un jeu de données. Ne croyez pas que ce soit chose aisée, Buckheit et Donoho, dans un article [15] célèbre et plein d"humour, ont donné des exemples de leurs propres déboires :

1.Burning the Midnight Oil.Pétage de plombs après une journée de travail

de 18 heures pour retrouver la bonne version imprimée des figures pour un article en comptant 30.

2.The Stolen Briefcase.Impossible de reproduire les figures originales per-version 4.1.1 (2021-08-10) Page6/55

URL :https://pbil.univ-lyon1.fr/R/pdf/knitr.pdfCompilé le 2021-10-08 P rJean R. Lobrydues suite au vol d"une valise, abandon du manuscript.

3.Who"s on First?Difficultés de communication entre un professeur et son

étudiant faute d"outils pour faciliter la reproductibilité des résultats.

4.A Year is a Long Time in this Business.Impossible d"appliquer une

méthode à un nouveau jeu de donnée seulement un an après sa publication.

5.A la Récherche des Parametres Perdues [sic].Impossible de retrouver

la bonne combinaison de valeurs de paramètres pour reproduire la figure d"un article.

1.4 Les systèmes de gestion de version

N ousne parlerons pas ici des outils facilitant la gestion des différentes ver- sions d"un document, ou d"un ensemble de documents. Ces outils sont indispensables pour tout travail collaboratif. Les plus connus sontsubversion etGitHub. Ils sont dispensables pour la rédaction d"un rapport dont vous êtes l"unique auteur, encore que, même dans ce cas de figure, certains préfèrent s"appuyer sur de tels systèmes pour faciliter la gestion des différentes versions de leurs documents.

2 Aide SVP Urgent !!!

L esordinateurs étant particulièrement psychorigides, on gagne rarement con- tre eux à jouer au plus têtu. C"était déjà illustré avec humour du temps des premiers langages de programmation comme le FORTRAN : fortunes::fortune("FORTRAN")

This reminds me of a famous FORTRAN code snippet:10 STOPSTOPSTOP! IN CASE STILL SKIDDINGGOTO 10-- Carl Witthoft (in response to the question how to completely stop R scripts

after stop())

R-help (January 2011)

2.1 Les forums de discussion

Q uandon rencontre un problème et que tout a échoué (consultation de la documentation, recherches frénétiques avec son moteur de recherche favori) rien ne vaut que de demander assistance à un autre êtrehumain. Les forums de discussion spécialisés sont à coup sûr la meilleure façon de solliciter de l"aide. On évitera bien entendu de mettre en sujet de sa question le titre de cette section mais quelque chose de plusinformatifpour le lecteur.P ourillustrer tout l"intérêt des forums de discussion on peut citer Yihui Xie qui à propos de la distribution TinyTEX [104] déclare1: " [w]hy do I exclude the documentations? Tell me honestly: how many times have you found a solution via StackExchange

2, and how many times have you tried to1

https://yihui.org/tinytex/faq/

2Un forum de discussion anglophone qui dispose d"un salon dédiée à TEX et LaTEX :

https://tex.stackexchange.com/version 4.1.1 (2021-08-10) Page7/55 URL :https://pbil.univ-lyon1.fr/R/pdf/knitr.pdfCompilé le 2021-10-08 P rJean R. Lobryread the package documentation? Even with the full documentation installed, you probably don"t even know where to find these documentation files on your computer. The documentation files take a lot of disk space, and I believe they are rarely read by an average user, so they are not included. The address bar of your web browser is the most convenient documentation: type and search. »L "objectifde ce document est de baliser une randonnée d"initiation à travers les différents langages de balisage utiles à la production d"un rapport re- productible. Nous espérons ainsi qu"en cas de problème vous saurez à quelle communauté vous addresser pour demander de l"aide. Est-ce que j"ai un prob- lème de, de L ATEX ou plutôt d"HTML ? Si vous savez déjà vers qui vous tourner, vous n"aurez pas perdu votre temps ici. Mais comme l"objectif est de produire un document reproductible, nous espérons que vous apprendrez au passage, pour le même prix, à poser de façonefficacevos questions dans les forums de discussion.P ourillustrer ce propos, nous reprenons ci-après les conseils donnés par François Bonnot dans le forumGroupe des utilisateurs du logiciel R3. C"est un forum francophone d"échange autour du logiciel de calcul statistique, mais pas un forum sur l"apprentissage des méthodes statistiques. Si vous avez une question survous pouvez y poster, si vous avez une question de statistique (genre : c"est quoi la p-value ?) vous allez vous faire éjecter, ou pire ignorer. C"est vrai, d"une façon générale, pour tout forum de discussion : on ne pose pas une question à propos de L

ATEX dans un forum de BDSM, sauf à être un

masochiste particulièrement retors.

2.2 Qu"est-ce qu"un code reproductible ?

C ettesection est directement adaptée des recommandations de François Bonnot du2015-10-194sur le forum francophone des utilisateurs du logi- ciel. L esquestions posées sur le forum concernent fréquemment une partie de code insérée dans le corps du message. Malheureusement il est souvent difficile de répondre à la question parce que le code inséré n"est pas reproductible. Cela a pour conséquence non seulement d"alourdir la discussion par des messages hors du sujet technique ("Quel paquet utilisez-vous ?», "Je n"arrive pas à reproduire votre sortie», etc.), mais aussi de décourager les membres du forum qui sauraient répondre mais n"ont pas de temps à perdre à deviner ce qui manque dans le code. Pour s"en persuader, il suffit de rechercher le terme " reproductible » sur le forum.Q u"est-cequ"un code reproductible ? Un code reproductible est un code dont l"exécution produit sur tous les ordinateurs une sortie identique à celle produite sur l"ordinateur de celui qui pose la question, sans nécessiter l"exécution préalable d"autres lignes de code. Dans la plupart des cas, le code est non reproductible parce qu"il y manque des données ou l"indication d"un paquet.

Exemple 1nonreproductible:

S <- matrix(0.9, 5, 5)

diag(S) <- 1 mvrnorm(n = 10, rep(1, 5), Sigma = S)3 http://forums.cirad.fr/logiciel-R/

4http://forums.cirad.fr/logiciel-R/viewtopic.php?f=1&t=7638version 4.1.1 (2021-08-10) Page8/55

URL :https://pbil.univ-lyon1.fr/R/pdf/knitr.pdfCompilé le 2021-10-08 P rJean R. LobryError in mvrnorm(n = 10, rep(1, 5), Sigma = S) : impossible de trouver la fonction "mvrnorm" On ne sais pas dans quel paquet se trouve la fonctionmvrnorm().

Exemple 1 reproductible:

library(MASS)

S <- matrix(0.9, 5, 5)diag(S) <- 1

mvrnorm(n = 10, rep(1, 5), Sigma = S)

Exemple 2nonreproductible:

z <- read.table("courbe.txt", header = TRUE, sep=?\t?) xyplot(y~x, data = z) Error in file(file, "rt") : impossible d?ouvrir la connexionDe plus : Warning message: In file(file, "rt") :impossible d?ouvrir le fichier?courbe.txt?: No such file or directory Le fichiercourbe.txtn"est pas sur le disque. De plus, le paquet de la fonction xyplot()n"est pas précisé.

Exemple 2 reproductible:

library(lattice)

z <- structure(list(x = 1:10, y = c(0, 0.693147180559945, 1.09861228866811,1.38629436111989, 1.6094379124341, 1.79175946922805, 1.94591014905531,2.07944154167984, 2.19722457733622, 2.30258509299405)), .Names = c("x","y"), row.names = c(NA, -10L), class = "data.frame")

xyplot(y~x, type =?l?, data = z) Remarque : un code qui provoque une erreur est reproductible si l"erreur est l"objet de la question. Exemple 3 reproductible. Question : " Je ne comprends pas cette erreur » x <- 0 if (x = 0) x <- NA

Erreur :?=?inattendu(e) in "if (x ="

Ce code est reproductible car l"erreur produite est l"objet de la question. Comment vérifier qu"un code est reproductible avant de le poster sur le forum ?

C"est très simple:

1. V érifierque le co dene v alire aucun fic hierde données sur disque ; 2.

Sauv erle co deet quitter ;

3. Relancer et copier-coller le code dans la fenêtre commande. Si le code donne la sortie attendue, il est reproductible.version 4.1.1 (2021-08-10) Page9/55 URL :https://pbil.univ-lyon1.fr/R/pdf/knitr.pdfCompilé le 2021-10-08 P rJean R. Lobry2.3 Comment insérer des données dans un message C ettesection est directement adaptée des recommandations de François Bonnot du2010-10-295sur le forum francophone des utilisateurs du logi- ciel. D enombreux messages échangés sur le forum nécessitent l"insertion d"un jeu de données permettant d"illustrer la question soumise. Afin d"alléger le contenu du message et de faciliter l"utilisation du jeu de données (et donc de maximiser les chances d"obtenir une réponse), il est vivement recommandé de respecter les principes suivants: 1. Réduire le jeu de données au minim umné cessaireà la résolution du prob- lème. Dans la plupart des cas, un tableau d"une dizaine de lignes et quelques colonnes suffit à illustrer un problème de syntaxe. S"il s"agit de données réelles nécessitant un avis sur la pertinence d"une analyse, on peut dépasser cette limite, mais l"insertion de données dépassant un écran devrait être exceptionnelle (ne pas décourager le lecteur et penser aussi à notre espace disque). Au delà de cette limite, utiliser un lien externe. 2. Utiliser la fonction dput()pour insérer des données. Le lecteur dispose ainsi de l"image exacte des données, y compris leur classe et mode de stockage ce qui est souvent important.

Exemple. Soit le data.frame suivant:

df <- data.frame(x = letters[1:4], y = 1:4, z = log(1:4)) df x y z1 a 1 0.00000002 b 2 0.69314723 c 3 1.09861234 d 4 1.3862944

Exécuterdput():

dput(df) structure(list(x = c("a", "b", "c", "d"), y = 1:4, z = c(0, 0.693147180559945,

1.09861228866811, 1.38629436111989)), class = "data.frame", row.names = c(NA,-4L))

Editer ensuite cette sortie en ajoutant en tête le nom de l"objet et l"opérateur d"affectation, puis l"insérer dans le corps du message avec les balises " code » afin que le lecteur puisse charger directement les données: df <- structure(list(x = structure(1:4, .Label = c("a", "b", "c", "d" ), class = "factor"), y = 1:4, z = c(0, 0.693147180559945, 1.09861228866811,

1.38629436111989)), .Names = c("x", "y", "z"), row.names = c(NA,

-4L), class = "data.frame") Afin de faciliter la lecture du message, on peut présenter le début du tableau en format lisible (voire l"insérer en entier s"il est très court) avant d"insérer la sortie dedput(). Exemple: " Je dispose d"un data.frame de 10 lignes structuré ainsi: »5 http://forums.cirad.fr/logiciel-R/viewtopic.php?f=1&t=3302version 4.1.1 (2021-08-10) Page10/55 URL :https://pbil.univ-lyon1.fr/R/pdf/knitr.pdfCompilé le 2021-10-08 P rJean R. Lobryx y z

1 a 1 0.00000002 b 2 0.6931472...10 j 10 2.3025851

" et dont le contenu est: » df <- structure(list(x = structure(1:4, .Label = c("a", "b", "c", "d" ), class = "factor"), y = 1:4, z = c(0, 0.693147180559945, 1.09861228866811,

1.38629436111989)), .Names = c("x", "y", "z"), row.names = c(NA,

-4L), class = "data.frame")

2.4 Comment détailler son environnement de travail

L afonctionsessionInfo()permet de lister automatiquement tout un tas de

caractéristiques de votre environnement de travail tels que la version deque vous utilisez, votre système d"exploitation, la version des bibliothèquesBLAS

etLAPACKpour les calculs matriciels, les options régionales et linguistiques et les versions des différents paquetsdisponibles. Ces précisions peuvent dans certains cas de figure être utiles pour comprendre votre problème. sessionInfo()

R version 4.1.1 (2021-08-10)Platform: x86_64-apple-darwin17.0 (64-bit)Running under: macOS Big Sur 10.16Matrix products: default

BLAS: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.0.dylib LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib locale:[1] fr_FR.UTF-8/fr_FR.UTF-8/fr_FR.UTF-8/C/fr_FR.UTF-8/fr_FR.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] lattice_0.20-44 loaded via a namespace (and not attached): [1] compiler_4.1.1 tools_4.1.1 grid_4.1.1 fortunes_1.5-4 P renonsun exemple concret. Supposons qu"en butinant sur la toile, à la recherche d"exemples d"utilisation de la commandesort()pour trier des chaînes de caractères dans l"ordre du dictionnaire, vous soyez tombé sur l"exemple de la commandeet de son résultat suivant : sort(c(letters, "aa")) [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" [17] "q" "r" "s" "t" "u" "v" "w" "x" "y" "z" "aa" V ousessayez alors de reproduire ce résultat sur votre propre ordinateur, mais rien n"y fait, vous obtenez toujours un résultat différent. Vous avez un problème dereproductibilité, le"aa"qui se trouve en dernière position dans l"exemple se trouve en seconde position chez vous : sort(c(letters, "aa")) [1] "a" "aa" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" [17] "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"version 4.1.1 (2021-08-10) Page11/55 URL :https://pbil.univ-lyon1.fr/R/pdf/knitr.pdfCompilé le 2021-10-08quotesdbs_dbs47.pdfusesText_47
[PDF] maths stats

[PDF] Maths Suite géométrique terminale

[PDF] Maths super urgent avec grosse récompense (voir le devoir )

[PDF] maths sur les fonction

[PDF] Maths sur les fonctions

[PDF] Maths sur les probabilités exercices

[PDF] maths sur puissances

[PDF] Maths sur Thalès pour demain

[PDF] maths svp

[PDF] maths table carrée , nappe ronde

[PDF] Maths Tableau

[PDF] maths tableur troisième

[PDF] Maths tarif

[PDF] maths taux de variation

[PDF] maths terminale es fonction exponentielle