R pour les débutants

Dimension: px
Commencer à balayer dès la page:

Download "R pour les débutants"

Transcription

1 R pur les débutants Emmanuel Paradis Institut des Sciences de l Évlutin Université Mntpellier II F Mntpellier cédex 05 France paradis@isem.univ-mntp2.fr

2 Je remercie Julien Claude, Christphe Declercq, Éldie Gazave, Friedrich Leisch, Luis Luangkesrn, Françis Pinard et Mathieu Rs pur leurs cmmentaires et suggestins sur des versins précédentes de ce dcument. J exprime également ma recnnaissance à tus les membres du R Develpment Cre Team pur leurs effrts cnsidérables dans le dévelppement de R et dans l animatin de la liste de discussin électrnique «r-help». Merci également aux utilisateurs de R qui par leurs questins u cmmentaires m nt aidé à écrire R pur les débutants. Mentin spéciale à Jrge Ahumada pur la traductin en espagnl. c 2002, 2005, Emmanuel Paradis (12 septembre 2005) Permissin est accrdée de cpier et distribuer ce dcument, en partie u en ttalité, dans nimprte quelle langue, sur nimprte quel supprt, à cnditin que la ntice c ci-dessus sit incluse dans tutes les cpies. Permissin est accrdée de traduire ce dcument, en partie u en ttalité, dans nimprte quelle langue, à cnditin que la ntice c ci-dessus sit incluse.

3 Table des matières 1 Préambule 1 2 Quelques cncepts avant de démarrer Cmment R travaille Créer, lister et effacer les bjets en mémire L aide en ligne Les dnnées avec R Les bjects Lire des dnnées dans un fichier Enregistrer les dnnées Générer des dnnées Séquences régulières Séquences aléatires Manipuler les bjets Créatin d bjets Cnversin d bjets Les pérateurs Accéder aux valeurs d un bjet : le système d indexatin Accéder aux valeurs d un bjet avec les nms L éditeur de dnnées Calcul arithmétique et fnctins simples Calcul matriciel Les graphiques avec R Gestin des graphiques Ouvrir plusieurs dispsitifs graphiques Partitinner un graphique Les fnctins graphiques Les fnctins graphiques secndaires Les paramètres graphiques Un exemple cncret Les packages grid et lattice Les analyses statistiques avec R Un exemple simple d analyse de variance Les frmules Les fnctins génériques Les packages

4 6 Prgrammer avec R en pratique Bucles et vectrisatin Écrire un prgramme en R Écrire ses fnctins Littérature sur R 76

5 1 Préambule Le but du présent dcument est de furnir un pint de départ pur les nvices intéressés par R. J ai fait le chix d insister sur la cmpréhensin du fnctinnement de R, bien sûr dans le but d une utilisatin de niveau débutant plutôt qu expert. Les pssibilités ffertes par R étant très vastes, il est utile pur le débutant d assimiler certaines ntins et cncepts afin d évluer plus aisément par la suite. J ai essayé de simplifier au maximum les explicatins pur les rendre accessibles à tus, tut en dnnant les détails utiles, parfis sus frme de tableaux. R est un système d analyse statistique et graphique créé par Rss Ihaka et Rbert Gentleman 1. R est à la fis un lgiciel et un langage qualifié de dialecte du langage S créé par AT&T Bell Labratries. S est dispnible sus la frme du lgiciel S-PLUS cmmercialisé par la cmpagnie Insightful 2. Il y a des différences imprtantes dans la cnceptin de R et celle de S : ceux qui veulent en savir plus sur ce pint peuvent se reprter à l article de Ihaka & Gentleman (1996) u au R-FAQ 3 dnt une cpie est également distribuée avec R. R est distribué librement sus les termes de la GNU General Public Licence 4 ; sn dévelppement et sa distributin snt assurés par plusieurs statisticiens rassemblés dans le R Develpment Cre Team. R est dispnible sus plusieurs frmes : le cde (écrit principalement en C et certaines rutines en Frtran), surtut pur les machines Unix et Linux, u des exécutables précmpilés pur Windws, Linux et Macintsh. Les fichiers pur installer R, à partir du cde u des exécutables, snt distribués à partir du site internet du Cmprehensive R Archive Netwrk (CRAN) 5 ù se truvent aussi les instructins à suivre pur l installatin sur chaque système. En ce qui cncerne les distributins de Linux (Debian,...), les exécutables snt généralement dispnibles pur les versins les plus récentes ; cnsultez le site du CRAN si besin. R cmprte de nmbreuses fnctins pur les analyses statistiques et les graphiques ; ceux-ci snt visualisés immédiatement dans une fenêtre prpre et peuvent être exprtés sus divers frmats (jpg, png, bmp, ps, pdf, emf, pictex, xfig ; les frmats dispnibles peuvent dépendre du système d explitatin). Les résultats des analyses statistiques snt affichés à l écran, certains résultats partiels (valeurs de P, cefficients de régressin, résidus,...) peuvent être sauvés à part, exprtés dans un fichier u utilisés dans des analyses ultérieures. 1 Ihaka R. & Gentleman R R: a language fr data analysis and graphics. Jurnal f Cmputatinal and Graphical Statistics 5 : vir pur plus d infrmatin pur plus d infs :

6 Le langage R permet, par exemple, de prgrammer des bucles qui vnt analyser successivement différents jeux de dnnées. Il est aussi pssible de cmbiner dans le même prgramme différentes fnctins statistiques pur réaliser des analyses plus cmplexes. Les utilisateurs de R peuvent bénéficier des nmbreux prgrammes écrits pur S et dispnibles sur internet 6, la plupart de ces prgrammes étant directement utilisables avec R. De prime abrd, R peut sembler trp cmplexe pur une utilisatin par un nn-spécialiste. Ce n est pas frcément le cas. En fait, R privilégie la flexibilité. Alrs qu un lgiciel classique affichera directement les résultats d une analyse, avec R ces résultats snt stckés dans un bjet, si bien qu une analyse peut être faite sans qu aucun résultat ne sit affiché. L utilisateur peut être décncerté par ceci, mais cette facilité se révèle extrêmement utile. En effet, l utilisateur peut alrs extraire uniquement la partie des résultats qui l intéresse. Par exemple, si l n dit faire une série de 20 régressins et que l n veuille cmparer les cefficients des différentes régressins, R purra afficher uniquement les cefficients estimés : les résultats tiendrnt dnc sur une ligne, alrs qu un lgiciel plus classique purra uvrir 20 fenêtres de résultats. On verra d autres exemples illustrant la flexibilité d un système cmme R vis-à-vis des lgiciels classiques. 6 par exemple : 2

7 2 Quelques cncepts avant de démarrer Une fis R installé sur vtre rdinateur, il suffit de lancer l exécutable crrespndant pur démarrer le prgramme. L attente de cmmandes (par défaut le symble > ) apparait alrs indiquant que R est prêt à exécuter les cmmandes. Sus Windws en utilisant le prgramme Rgui.exe, certaines cmmandes (accès à l aide, uverture de fichiers,...) peuvent être exécutées par les menus. L utilisateur nvice a alrs tutes les chances de se demander «Je fais qui maintenant?» Il est en effet très utile d avir quelques idées sur le fnctinnement de R lrsqu n l utilise pur la première fis : c est ce que nus allns vir maintenant. Nus allns dans un premier temps vir schématiquement cmment R travaille. Ensuite nus décrirns l pérateur «assigner» qui permet de créer des bjets, puis cmment gérer les bjets en mémire, et finalement cmment utiliser l aide en ligne qui est extrêmement utile dans une utilisatin curante. 2.1 Cmment R travaille Le fait que R sit un langage peut effrayer plus d un utilisateur ptentiel pensant «Je ne sais pas prgrammer». Cela ne devrait pas être le cas pur deux raisns. D abrd, R est un langage interprété et nn cmpilé, c est-à-dire que les cmmandes tapées au clavier snt directement exécutées sans qu il sit besin de cnstruire un prgramme cmplet cmme cela est le cas pur la plupart des langages infrmatiques (C, Frtran, Pascal,...). Ensuite, la syntaxe de R est très simple et intuitive. Par exemple, une régressin linéaire purra être faite avec la cmmande lm(y ~ x). Avec R, une fnctin, pur être exécutée, s écrit tujurs avec des parenthèses, même si elles ne cntiennent rien (par exemple ls()). Si l utilisateur tape le nm de la fnctin sans parenthèses, R affichera le cntenu des instructins de cette fnctin. Dans la suite de ce dcument, les nms des fnctins snt généralement écrits avec des parenthèses pur les distinguer des autres bjets sauf si le texte indique clairement qu il s agit d une fnctin. Quand R est utilisé, les variables, les dnnées, les fnctins, les résultats, etc, snt stckés dans la mémire de l rdinateur sus frme d bjets qui nt chacun un nm. L utilisateur va agir sur ces bjets avec des pérateurs (arithmétiques, lgiques, de cmparaisn,...) et des fnctins (qui snt ellesmêmes des bjets). L utilisatin des pérateurs est relativement intuitive, n en verra les détails plus lin (p. 27). Une fnctin de R peut être schématisée cmme suit : 3

8 arguments ptins fnctin arguments par défaut = résultat Les arguments peuvent être des bjets («dnnées», frmules, expressins,...) dnt certains peuvent être définis par défaut dans la fnctin ; ces valeurs par défaut peuvent être mdifiées par l utilisateur avec les ptins. Une fnctin de R peut ne nécessiter aucun argument de la part de l utilisateur : sit tus les arguments snt définis par défaut (et peuvent être changés avec les ptins), u sit aucun argument n est défini. On verra plus en détail l utilisatin et la cnstructin des fnctins (p. 72). La présente descriptin est pur le mment suffisante pur cmprendre cmment R père. Tutes les actins de R snt effectuées sur les bjets présents dans la mémire vive de l rdinateur : aucun fichier tempraire n est utilisé (Fig. 1). Les lectures et écritures de fichiers snt utilisées pur la lecture et l enregistrement des dnnées et des résultats (graphiques,...). L utilisateur exécute des fnctins par l intermédiaire de cmmandes. Les résultats snt affichés directement à l écran, u stckés dans un bjet, u encre écrits sur le disque (en particulier pur les graphiques). Les résultats étant eux-mêmes des bjets, ils peuvent être cnsidérés cmme des dnnées et être analysés à leur tur. Les fichiers de dnnées peuvent être lus sur le disque de l rdinateur lcal u sur un serveur distant via internet. clavier cmmandes suris fnctins et pérateurs.../library/base/ /stast/ /graphics/... bjets «dnnées» 3 écran bjets «résultats» PS JPEG... biblithèque de fnctins fichiers de dnnées internet Mémire vive Disque dur Fig. 1 Une vue schématique du fnctinnement de R. Les fnctins dispnibles snt stckées dans une biblithèque lcalisées sur le disque dans le répertire R HOME/library (R HOME désignant le répertire ù R est installé). Ce répertire cntient des packages de fnctins, eux-mêmes présents sur le disque sus frme de répertires. Le package nmmé base est en quelque srte le cœur de R et cntient les fnctins de base du lan- 4

9 gage, en particulier pur la lecture et la manipulatin des dnnées. Chaque package a un répertire nmmé R avec un fichier qui a pur nm celui du package (par exemple, pur base, ce sera le fichier R HOME/library/base/R/base). Ce fichier cntient les fnctins du package. Une des cmmandes les plus simples cnsiste à taper le nm d un bjet pur afficher sn cntenu. Par exemple, si un bjet n cntient la valeur 10 : > n [1] 10 Le chiffre 1 entre crchets indique que l affichage cmmence au premier élément de n. Cette cmmande est une utilisatin implicite de la fnctin print et l exemple ci-dessus est identique à print(n) (dans certaines situatins, la fnctin print dit être utilisée de façn explicite, par exemple au sein d une fnctin u d une bucle). Le nm d un bjet dit bligatirement cmmencer par une lettre (A Z et a z) et peut cmprter des lettres, des chiffres (0 9), des pints (.) et des espaces sulignés ( ). Il faut savir aussi que R distingue, pur les nms des bjets, les majuscules des minuscules, c est-à-dire que x et X purrnt servir à nmmer des bjets distincts (même sus Windws). 2.2 Créer, lister et effacer les bjets en mémire Un bjet peut être créé avec l pérateur «assigner» qui s écrit avec une flèche cmpsée d un signe mins acclé à un crchet, ce symble puvant être rienté dans un sens u dans l autre : > n <- 15 > n [1] 15 > 5 -> n > n [1] 5 > x <- 1 > X <- 10 > x [1] 1 > X [1] 10 Si l bjet existe déjà, sa valeur précédente est effacée (la mdificatin n affecte que les bjets en mémire vive, pas les dnnées sur le disque). La valeur ainsi dnnée peut être le résultat d une pératin et/u d une fnctin : > n < > n 5

10 [1] 12 > n <- 3 + rnrm(1) > n [1] La fnctin rnrm(1) génère une variable aléatire nrmale de myenne zér et variance unité (p. 19). On peut simplement taper une expressin sans assigner sa valeur à un bjet, le résultat est alrs affiché à l écran mais n est pas stcké en mémire : > (10 + 2) * 5 [1] 60 Dans ns exemples, n mettra l assignement si cela n est pas nécessaire à la cmpréhensin. La fnctin ls permet d afficher une liste simple des bjets en mémire, c est-à-dire que seuls les nms des bjets snt affichés. > name <- "Carmen"; n1 <- 10; n2 <- 100; m <- 0.5 > ls() [1] "m" "n1" "n2" "name" Ntns l usage du pint-virgule pur séparer des cmmandes distinctes sur la même ligne. Si l n veut lister uniquement les bjets qui cntiennent un caractère dnné dans leur nm, n utilisera alrs l ptin pattern (qui peut s abréger avec pat) : > ls(pat = "m") [1] "m" "name" Pur restreindre la liste aux bjets dnt le nm cmmence par le caractère en questin : > ls(pat = "^m") [1] "m" La fnctin ls.str affiche des détails sur les bjets en mémire : > ls.str() m : num 0.5 n1 : num 10 n2 : num 100 name : chr "Carmen" L ptin pattern peut également être utilisée cmme avec ls. Une autre ptin utile de ls.str est max.level qui spécifie le niveau de détails de l affichage des bjets cmpsites. Par défaut, ls.str affiche les détails de tus les bjets cntenus en mémire, y cmpris les clnnes des jeux de dnnées, matrices et listes, ce qui peut faire un affichage très lng. On évite d afficher tus les détails avec l ptin max.level = -1 : 6

11 > M <- data.frame(n1, n2, m) > ls.str(pat = "M") M : data.frame : 1 bs. f 3 variables: $ n1: num 10 $ n2: num 100 $ m : num 0.5 > ls.str(pat="m", max.level=-1) M : data.frame : 1 bs. f 3 variables: Pur effacer des bjets de la mémire, n utilise la fnctin rm : rm(x) pur effacer l bjet x, rm(x, y) pur effacer les bjets x et y, rm(list=ls()) pur effacer tus les bjets en mémire ; n purra ensuite utiliser les mêmes ptins citées pur ls() pur effacer sélectivement certains bjets : rm(list=ls(pat = "^m")). 2.3 L aide en ligne L aide en ligne de R est extrêment utile pur l utilisatin des fnctins. L aide est dispnible directement pur une fnctin dnnée, par exemple : >?lm affichera, dans R, la page d aide pur la fnctin lm() (linear mdel). Les cmmandes help(lm) et help("lm") aurnt le même effet. C est cette dernière qu il faut utiliser pur accéder à l aide avec des caractères nn-cnventinnels : >?* Errr: syntax errr > help("*") Arithmetic package:base R Dcumentatin Arithmetic Operatrs... L appel de l aide uvre une page (le cmprtement exact dépend du système d explitatin) avec sur la première ligne des infrmatins générales dnt le nm du package ù se truvent la (u les) fnctin(s) u les pérateurs dcumentés. Ensuite vient un titre suivi de paragraphes qui chacun apprte une infrmatin bien précise. Descriptin: brève descriptin. Usage: pur une fnctin dnne le nm avec tus ses arguments et les éventuelles ptins (et les valeurs par défaut crrespndantes) ; pur un pérateur dnne l usage typique. Arguments: pur une fnctin détaille chacun des arguments. Details: descriptin détaillée. 7

12 Value: le cas échéant, le type d bjet returné par la fnctin u l pérateur. See Als: autres rubriques d aide prches u similaires à celle dcumentée. Examples: des exemples qui généralement peuvent être exécutés sans uvrir l aide avec la fnctin example. Pur un débutant, il est cnseillé de regarder le paragraphe Examples. En général, il est utile de lire attentivement le paragraphe Arguments. D autres paragraphes peuvent être rencntrés, tel Nte, References u Authr(s). Par défaut, la fnctin help ne recherche que dans les packages chargés en mémire. L ptin try.all.packages, dnt le défaut est FALSE, permet de chercher dans tus les packages si sa valeur est TRUE : > help("bs") N dcumentatin fr bs in specified packages and libraries: yu culd try help.search("bs") > help("bs", try.all.packages = TRUE) Help fr tpic bs is nt in any laded package but can be fund in the fllwing packages: Package splines Library /usr/lib/r/library Ntez que dans ce cas la page d aide de la fnctin bs n est pas uverte. L utilisateur peut uvrir des pages d aide d un package nn chargé en mémire en utilisant l ptin package : > help("bs", package = "splines") bs package:splines R Dcumentatin B-Spline Basis fr Plynmial Splines Descriptin:... Generate the B-spline basis matrix fr a plynmial spline. On peut uvrir l aide au frmat html (qui sera lu avec Netscape, par exemple) en tapant : > help.start() Une recherche par mts-clefs est pssible avec cette aide html. La rubrique See Als cntient ici des liens hypertextes vers les pages d aide des autres fnctins. La recherche par mts-clefs est également pssible depuis R avec la fnctin help.search. Cette dernière recherche un thème, spécifié par une chaîne de caractère, dans les pages d aide de tus les packages installés. Par exemple, help.search("tree") affichera une liste des fnctins dnt les pages 8

13 d aide mentinnent «tree». Ntez que si certains packages nt été installés récemment, il peut être utile de rafraîchir la base de dnnées utilisée par help.search en utilisant l ptin rebuild (help.search("tree", rebuild = TRUE)). La fnctin aprps truve les fnctins qui cntiennent dans leur nm la chaîne de caractère passée en argument ; seuls les packages chargés en mémire snt cherchés : > aprps(help) [1] "help" ".helpfrcall" "help.search" [4] "help.start" 9

14 3 Les dnnées avec R 3.1 Les bjects Nus avns vu que R manipule des bjets : ceux-ci snt caractérisés bien sûr par leur nm et leur cntenu, mais aussi par des attributs qui vnt spécifier le type de dnnées représenté par un bjet. Afin de cmprendre l utilité de ces attributs, cnsidérns une variable qui prendrait les valeurs 1, 2 u 3 : une telle variable peut représenter une variable entière (par exemple, le nmbre d œufs dans un nid), u le cdage d une variable catégrique (par exemple, le sexe dans certaines ppulatins de crustacés : mâle, femelle u hermaphrdite). Il est clair que le traitement statistique de cette variable ne sera pas le même dans les deux cas : avec R, les attributs de l bjet dnnent l infrmatin nécessaire. Plus techniquement, et plus généralement, l actin d une fnctin sur un bjet va dépendre des attributs de celui-ci. Les bjets nt tus deux attributs intrinsèques : le mde et la lngueur. Le mde est le type des éléments d un bjet ; il en existe quatre principaux : numérique, caractère, cmplexe 7, et lgique (FALSE u TRUE). D autres mdes existent qui ne représentent pas des dnnées, par exemple fnctin u expressin. La lngueur est le nmbre d éléments de l bjet. Pur cnnaître le mde et la lngueur d un bjet n peut utiliser, respectivement, les fnctins mde et length : > x <- 1 > mde(x) [1] "numeric" > length(x) [1] 1 > A <- "Gmphtherium"; cmpar <- TRUE; z <- 1i > mde(a); mde(cmpar); mde(z) [1] "character" [1] "lgical" [1] "cmplex" Quelque sit le mde, les valeurs manquantes snt représentées par NA (nt available). Une valeur numérique très grande peut être spécifiée avec une ntatin expnentielle : > N <- 2.1e23 > N [1] 2.1e+23 7 Le mde cmplexe ne sera pas discuté dans ce dcument. 10

15 R représente crrectement des valeurs numériques qui ne snt pas finies, telles que ± avec Inf et -Inf, u des valeurs qui ne snt pas des nmbres avec NaN (nt a number). > x <- 5/0 > x [1] Inf > exp(x) [1] Inf > exp(-x) [1] 0 > x - x [1] NaN Une valeur de mde caractère est dnc entrée entre des guillemets dubles ". Il est pssible d inclure ce dernier caractère dans la valeur s il suit un antislash \. L ensemble des deux caractères \" sera traité de façn spécifique par certaines fnctins telle que cat pur l affichage à l écran, u write.table pur écrire sur le disque (p. 16, l ptin qmethd de cette fnctin). > x <- "Duble qutes \" delimitate R s strings." > x [1] "Duble qutes \" delimitate R s strings." > cat(x) Duble qutes " delimitate R s strings. Une autre pssibilité est de délimiter les variables de mde caractère avec des guillemets simples ( ) ; dans ce cas il n est pas nécessaire d échapper les guillemets dubles avec des antislash (mais les guillemets simples divent l être!) : > x <- Duble qutes " delimitate R\ s strings. > x [1] "Duble qutes \" delimitate R s strings."\ Le tableau suivant dnne un aperçu des bjets représentant des dnnées. 11

16 bjet mdes plusieurs mdes pssibles dans le même bjet? vecteur numérique, caractère, cmplexe u lgique Nn facteur numérique u caractère Nn tableau numérique, caractère, cmplexe u lgique Nn matrice numérique, caractère, cmplexe u lgique Nn tableau de numérique, caractère, cmplexe u lgique Oui dnnées ts numérique, caractère, cmplexe u lgique Nn liste numérique, caractère, cmplexe, lgique, Oui fnctin, expressin,... Un vecteur est une variable dans le sens généralement admis. Un facteur est une variable catégrique. Un tableau (array) pssède k dimensins, une matrice étant un cas particulier de tableau avec k = 2. À nter que les éléments d un tableau u d une matrice snt tus du même mde. Un tableau de dnnées (data frame) est cmpsé de un u plusieurs vecteurs et/u facteurs ayant tus la même lngueur mais puvant être de mdes différents. Un «ts» est un jeu de dnnées de type séries temprelles (time series) et cmprte dnc des attributs supplémentaires cmme la fréquence et les dates. Enfin, une liste peut cntenir n imprte quel type d bjet, y cmpris des listes! Pur un vecteur, le mde et la lngueur suffisent pur décrire les dnnées. Pur les autres bjets, d autres infrmatins snt nécessaires et celles-ci snt dnnées par les attributs dits nn-intrinsèques. Parmi ces attributs, citns dim qui crrespnd au nmbre de dimensins d un bjet. Par exemple, une matrice cmpsée de 2 lignes et 2 clnnes aura pur dim le cuple de valeurs [2, 2] ; par cntre sa lngueur sera de Lire des dnnées dans un fichier Pur les lectures et écritures dans les fichiers, R utilise le répertire de travail. Pur cnnaître ce répertire n peut utiliser la cmmande getwd() (get wrking directry), et n peut le mdifier avec, par exemple, setwd("c:/data") u setwd("/hme/paradis/r"). Il est nécessaire de préciser le chemin d accès au fichier s il n est pas dans le répertire de travail. 8 R peut lire des dnnées stckées dans des fichiers texte (ASCII) à l aide des fnctins suivantes : read.table (qui a plusieurs variantes, cf. ci-dessus), scan et read.fwf. R peut également lire des fichiers dans d autres frmats (Excel, SAS, SPSS,...) et accéder à des bases de dnnées de type SQL, mais les fnctins nécessaires ne snt pas dans le package base. Ces fnctinnalités 8 Sus Windws, il est pratique de créer un raccurci de Rgui.exe, puis éditer ses prpriétés et mdifier le répertire dans le champ «Démarrer en :» sus l nglet «Raccurci» : ce répertire sera ensuite le répertire de travail en démarrant R depuis ce raccurci. 12

17 snt très utiles pur une utilisatin un peu plus avancée de R, mais n se limitera ici à la lecture de fichiers au frmat ASCII. La fnctin read.table a pur effet de créer un tableau de dnnées et est dnc le myen principal pur lire des fichiers de dnnées. Par exemple, si n a un fichier nmmé data.dat, la cmmande : > mydata <- read.table("data.dat") créera un tableau de dnnées nmmé mydata, et les variables, par défaut nmmées V1, V2..., purrnt être accédées individuellement par mydata$v1, mydata$v2,..., u par mydata ["V1"], mydata["v2"],..., u encre par mydata[, 1], mydata[, 2],... 9 Il y a plusieurs ptins dnt vici les valeurs par défaut (c est-à-dire celles utilisées par R si elles snt mises par l utilisateur) et les détails dans le tableau qui suit : read.table(file, header = FALSE, sep = "", qute = "\" ", dec = ".", rw.names, cl.names, as.is = FALSE, na.strings = "NA", clclasses = NA, nrws = -1, skip = 0, check.names = TRUE, fill =!blank.lines.skip, strip.white = FALSE, blank.lines.skip = TRUE, cmment.char = "#") file le nm du fichier (entre "" u une variable de mde caractère), éventuellement avec sn chemin d accès (le symble \ est interdit et dit être remplacé par /, même sus Windws), u un accès distant à un fichier de type URL ( header une valeur lgique (FALSE u TRUE) indicant si le fichier cntient les nms des variables sur la 1ère ligne sep le séparateur de champ dans le fichier, par exemple sep="\t" si c est une tabulatin qute les caractères utilisés pur citer les variables de mde caractère dec le caractère utilisé pur les décimales rw.names un vecteur cntenant les nms des lignes qui peut être un vecteur de mde character, u le numér (u le nm) d une variable du fichier (par défaut : 1, 2, 3,...) cl.names un vecteur cntenant les nms des variables (par défaut : V1, V2, V3,...) as.is cntrôle la cnversin des variables caractères en facteur (si FALSE) u les cnserve en caractères (TRUE) ; as.is peut être un vecteur lgique, numérique u caractère précisant les variables cnservées en caractère na.strings indique la valeur des dnnées manquantes (sera cnverti en NA) clclasses un vecteur de caractères dnnant les classes à attribuer aux clnnes nrws le nmbre maximum de lignes à lire (les valeurs négatives snt ignrées) 9 Il y a tutefis une différence : mydata$v1 et mydata[, 1] snt des vecteurs alrs que mydata["v1"] est un tableau de dnnées. On verra plus lin (p. 20) des détails sur la manipulatin des bjets. 13

18 skip le nmbre de lignes à sauter avant de cmmencer la lecture des dnnées check.names si TRUE, vérifie que les nms des variables snt valides pur R fill si TRUE et que les lignes n nt pas tus le même nmbre de variables, des blancs snt ajutés strip.white (cnditinnel à sep) si TRUE, efface les espaces (= blancs) avant et après les variables de mde caractère blank.lines.skip si TRUE, ignre les lignes «blanches» cmment.char un caractère qui définit des cmmentaires dans le fichier de dnnées, la lecture des dnnées passant à la ligne suivante (pur désactiver cet ptin, utiliser cmment.char = "") Les variantes de read.table snt utiles car elles nt des valeurs par défaut différentes : read.csv(file, header = TRUE, sep = ",", qute="\"", dec=".", fill = TRUE,...) read.csv2(file, header = TRUE, sep = ";", qute="\"", dec=",", fill = TRUE,...) read.delim(file, header = TRUE, sep = "\t", qute="\"", dec=".", fill = TRUE,...) read.delim2(file, header = TRUE, sep = "\t", qute="\"", dec=",", fill = TRUE,...) La fnctin scan est plus flexible que read.table. Une différence est qu il est pssible de spécifier le mde des variables, par exemple : > mydata <- scan("data.dat", what = list("", 0, 0)) lira dans le fichier data.dat tris variables, la première de mde caractère et les deux suivantes de mde numérique. Une autre distinctin imprtante est que scan() peut être utilisée pur créer différents bjets, vecteurs, matrices, tableaux de dnnées, listes,... Dans l exemple ci-dessus, mydata est une liste de tris vecteurs. Par défaut, c est-à-dire si what est mis, scan() crée un vecteur numérique. Si les dnnées lues ne crrespndent pas au(x) mde(s) attendu(s) (par défaut u spécifiés par what), un message d erreur est returné. Les ptins snt les suivantes. scan(file = "", what = duble(0), nmax = -1, n = -1, sep = "", qute = if (sep=="\n") "" else " \"", dec = ".", skip = 0, nlines = 0, na.strings = "NA", flush = FALSE, fill = FALSE, strip.white = FALSE, quiet = FALSE, blank.lines.skip = TRUE, multi.line = TRUE, cmment.char = "", allwescapes = TRUE) 14

19 file le nm du fichier (entre ""), éventuellement avec sn chemin d accès (le symble \ est interdit et dit être remplacé par /, même sus Windws), u un accès distant à un fichier de type URL ( ; si file="", les dnnées snt entrées au clavier (l entrée étant terminée par une ligne blanche) what indique le(s) mde(s) des dnnées lues (numérique par défaut) nmax le nmbre de dnnées à lire, u, si what est une liste, le nmbre de lignes lues (par défaut, scan lit jusqu à la fin du fichier) n le nmbre de dnnées à lire (par défaut, pas de limite) sep le séparateur de champ dans le fichier qute les caractères utilisés pur citer les variables de mde caractère dec le caractère utilisé pur les décimales skip le nmbre de lignes à sauter avant de cmmencer la lecture des dnnées nlines le nmbre de lignes à lire na.string indique la valeur des dnnées manquantes (sera cnverti en NA) flush si TRUE, scan va à la ligne suivante une fis que le nmbre de clnnes est atteint (permet d ajuter des cmmentaires dans le fichier de dnnées) fill si TRUE et que les lignes n nt pas tus le même nmbre de variables, des blancs snt ajutés strip.white (cnditinnel à sep) si TRUE, efface les espaces (= blancs) avant et après les variables de mde character quiet si FALSE, scan affiche une ligne indiquant quels champs nt été lus blank.lines.skip si TRUE, ignre les lignes «blanches» multi.line si what est une liste, précise si les variables du même individu snt sur une seule ligne dans le fichier (FALSE) cmment.char un caractère qui définit des cmmentaires dans le fichier de dnnées, la lecture des dnnées passant à la ligne suivante (par défaut les cmmentaires ne snt pas permis) allwescapes spécifie si les caractères échappés (par ex. \t) divent être interprétés (le défaut) u laissés tels-quels La fnctin read.fwf sert à lire dans un fichier ù les dnnées snt dans un frmat à largeur fixée (fixed width frmat) : read.fwf(file, widths, header = FALSE, sep = "\t", as.is = FALSE, skip = 0, rw.names, cl.names, n = -1, buffersize = 2000,...) Les ptins snt les mêmes que pur read.table() sauf widths qui spécifie la largeur des champs (buffersize est le nmbre maximum de lignes lues en même temps). Par exemple, si n a un fichier nmmé data.txt dnt le cntenu est indiqué ci-cntre, n purra lire les dnnées avec la cmmande suivante : A A B B C C > mydata <- read.fwf("data.txt", widths=c(1, 4, 3)) > mydata V1 V2 V3 1 A

20 2 A B B C C Enregistrer les dnnées La fnctin write.table écrit dans un fichier un bjet, typiquement un tableau de dnnées mais cela peut très bien être un autre type d bjet (vecteur, matrice,...). Les arguments et ptins snt : write.table(x, file = "", append = FALSE, qute = TRUE, sep = " ", el = "\n", na = "NA", dec = ".", rw.names = TRUE, cl.names = TRUE, qmethd = c("escape", "duble")) x file append qute sep el na dec rw.names cl.names qmethd le nm de l bjet à écrire le nm du fichier (par défaut l bjet est affiché à l écran) si TRUE ajute les dnnées sans effacer celles éventuellement existantes dans le fichier une variable lgique u un vecteur numérique : si TRUE les variables de mde caractère et les facteurs snt écrits entre "", sinn le vecteur indique les numérs des variables à écrire entre "" (dans les deux cas les nms des variables snt écrits entre "" mais pas si qute = FALSE) le séparateur de champ dans le fichier le caractère imprimé à la fin de chaque ligne ("\n" crrespnd à un returcharrit) indique le caractère utilisé pur les dnnées manquantes le caractère utilisé pur les décimales une variable lgique indiquant si les nms des lignes divent être écrits dans le fichier idem pur les nms des clnnes spécifie, si qute=true, cmment snt traitées les guillemets dubles " incluses dans les variables de mde caractère : si "escape" (u "e", le défaut) chaque " est remplacée par \", si "d" chaque " est remplacée par "" Pur écrire de façn plus simple un bjet dans un fichier, n peut utiliser la cmmande write(x, file="data.txt") ù x est le nm de l bjet (qui peut être un vecteur, une matrice u un tableau). Il y a deux ptins : nc (u ncl) qui définit le nmbre de clnnes dans le fichier (par défaut nc=1 si x est de mde caractère, nc=5 pur les autres mdes), et append (un lgique) pur ajuter les dnnées sans effacer celles éventuellement déjà existantes dans le fichier (TRUE) u les effacer si le fichier existe déjà (FALSE, le défaut). Pur enregistrer des bjets, cette fis de n imprte quel type, n utilisera la cmmande save(x, y, z, file="xyz.rdata"). Pur faciliter l échange de fichiers entre machines et systèmes d explitatin, n peut utiliser l ptin ascii=true. Les dnnées (qui snt alrs nmmées wrkspace dans le jargn de 16

Guide pratique pour les enquêtes d impact

Guide pratique pour les enquêtes d impact SYSTEME DE GESTION DES RESULTATS ET DE L IMPACT Guide pratique pur les enquêtes d impact PROJET DE RAPPORT Janvier 2005 pur les enquêtes d impact pur les enquêtes d impact Table des matières INTRODUCTION...

Plus en détail

Guide d aide à la rédaction d un essai

Guide d aide à la rédaction d un essai Guide d aide à la rédactin d un essai Un essai peut avir plusieurs bjectifs, mais la structure de base reste la même quel qu en sit le sujet. Vus puvez l écrire afin de discuter d un pint de vue particulier

Plus en détail

développement de carrière manitoba BÂTIR UN PORTFOLIO PROFESSIONNEL GUIDE

développement de carrière manitoba BÂTIR UN PORTFOLIO PROFESSIONNEL GUIDE dévelppement de carrière manitba BÂTIR UN PORTFOLIO PROFESSIONNEL GUIDE Table des matières Remerciements... 2 Intrductin... 3 Au sujet de ce guide... 3 Qu est-ce qu un prtfli?... 5 Cmment un prtfli peut

Plus en détail

Développement à long terme du participant/athlète 2.0. Au Canada le sport c est pour la vie

Développement à long terme du participant/athlète 2.0. Au Canada le sport c est pour la vie Dévelppement à lng terme du participant/athlète 2.0 Au Canada le sprt c est pur la vie Figure 1 : Cadre de dévelppement à lng terme du participant/athlète Ce stade peut être amrcé à tut âge Garçns de +/-

Plus en détail

ROYAUME DU MAROC FONDATION MOHAMMED VI POUR LA PROMOTION DES OEUVRES SOCIALES DE L ÉDUCATION FORMATION

ROYAUME DU MAROC FONDATION MOHAMMED VI POUR LA PROMOTION DES OEUVRES SOCIALES DE L ÉDUCATION FORMATION ROYAUME DU MAROC FONDATION MOHAMMED VI POUR LA PROMOTION DES OEUVRES SOCIALES DE L ÉDUCATION FORMATION APPEL D OFFRES OUVERT SUR OFFRES DE PRIX N 48/2013 SEANCE PUBLIQUE Mise en place d un système de gestin

Plus en détail

Introduction à la programmation en R. Vincent Goulet

Introduction à la programmation en R. Vincent Goulet Introduction à la programmation en R Vincent Goulet Introduction à la programmation en R Vincent Goulet École d actuariat, Université Laval Quatrième édition 2014 Vincent Goulet Cette création est mise

Plus en détail

LE GUIDE DE L EXPERTISE MÉDICALE AMIABLE EN. points

LE GUIDE DE L EXPERTISE MÉDICALE AMIABLE EN. points LE GUIDE 10 DE L EXPERTISE MÉDICALE AMIABLE EN pints Rédactin : ASSOCIATION DES PARALYSES DE FRANCE Maître Fadéla Kidari sus la directin de Linda Auar respnsable du service juridique drit des persnnes

Plus en détail

Ects. Utilitaire d Économétrie Version 2. Russell Davidson

Ects. Utilitaire d Économétrie Version 2. Russell Davidson Ects Utilitaire d Économétrie Version 2 Russell Davidson Mars 1993 Ects, Version 2 c Russell Davidson, Mars 1993. Tous droits de reproduction, de traduction, d adaptation, et d exécution réservés pour

Plus en détail

CEN-CENELEC Règlement Intérieur

CEN-CENELEC Règlement Intérieur CEN-CENELEC Règlement Intérieur 1ére Partie: ORGANISATION ET STRUCTURE Octbre 2014 (Als available in English) (Auch in deutscher Fassung) Smmaire Page Avant-prps 3 1A : CEN 1. Dmaine d'applicatin des activités

Plus en détail

Introduction à. Julien Barnier Centre Max Weber CNRS UMR 5283 julien.barnier@ens-lyon.fr. Version 2.0 12 septembre 2013. http://xkcd.

Introduction à. Julien Barnier Centre Max Weber CNRS UMR 5283 julien.barnier@ens-lyon.fr. Version 2.0 12 septembre 2013. http://xkcd. Introduction à Julien Barnier Centre Max Weber CNRS UMR 5283 julien.barnier@ens-lyon.fr Version 2.0 12 septembre 2013 http://xkcd.com/627/ Table des matières 1 Introduction 5 1.1 À propos de ce document....................................

Plus en détail

Une introduction à Scilab

Une introduction à Scilab Une introduction à Scilab version 0.9999 α Bruno Pinçon Institut Elie Cartan Nancy E.S.I.A.L. Université Henri Poincaré Email : Bruno.Pincon@iecn.u-nancy.fr Ce document a été initialement rédigé pour les

Plus en détail

AIDE MÉMOIRE R Référence des fonctions de R les plus courantes Mayeul KAUFFMANN Mars 2009

AIDE MÉMOIRE R Référence des fonctions de R les plus courantes Mayeul KAUFFMANN Mars 2009 AIDE MÉMOIRE R Référence des fonctions de R les plus courantes Mayeul KAUFFMANN Mars 2009 Ce qui suit ne montre qu une minuscule partie des fonctions de R. Ce document est en grande partie traduit de Tom

Plus en détail

Délivrance de l information à la personne sur son état de santé

Délivrance de l information à la personne sur son état de santé RECOMMANDATION DE BONNE PRATIQUE Délivrance de l infrmatin à la persnne sur sn état de santé Principes généraux Méthde Recmmandatins pur la pratique clinique RECOMMANDATIONS Mai 2012 Les recmmandatins

Plus en détail

1 Introduction - Qu est-ce que le logiciel R?

1 Introduction - Qu est-ce que le logiciel R? Master 1 GSI - Mentions ACCIE et RIM - ULCO, La Citadelle, 2012/2013 Mesures et Analyses Statistiques de Données - Probabilités TP 1 - Initiation au logiciel R 1 Introduction - Qu est-ce que le logiciel

Plus en détail

Introduction à MATLAB

Introduction à MATLAB Université Paris-Dauphine Département MIDO Introduction à MATLAB 1 0.5 0-0.5 10 5 0-5 -10-8 -6-4 -2 0 2 4 6 8 André Casadevall mars 2013 p. 2 AJ.Casadevall - mars 2013 Table des matières 1 MATLAB 7 1.1

Plus en détail

Une introduction au langage R

Une introduction au langage R Une introduction au langage R Faouzi LYAZRHI UP Biostatistique Ecole Nationale Vétérinaire, 23, chemin des Capelles, BP 87614, F-31076 Toulouse cédex email : f.lyazrhi@envt.fr 2005 1. INSTALLER R 3 2.

Plus en détail

Les primes d'assurance sont-elles déductibles d'impôt?

Les primes d'assurance sont-elles déductibles d'impôt? Les primes d'assurance snt-elles déductibles d'impôt? Aût 2014 Est-ce que je peux déduire les primes? C'est une questin que l'n vus pse très prbablement lrsque vus abrdez le sujet de l'assurance. Malheureusement,

Plus en détail

Construire un Package

Construire un Package Construire un Package Classic et S4 Christophe Genolini 2 Table des matières 1 Création d un package classique 5 1.1 Configuration de votre ordinateur....................... 5 1.1.1 Installation de programmes......................

Plus en détail

Jérôme Mathieu janvier 2007. Débuter avec R. Ce document est disponible sur le site web : http://www.jerome.mathieu.freesurf.

Jérôme Mathieu janvier 2007. Débuter avec R. Ce document est disponible sur le site web : http://www.jerome.mathieu.freesurf. Jérôme Mathieu janvier 2007 Débuter avec R Ce document est disponible sur le site web : http://www.jerome.mathieu.freesurf.fr - 1 - Sommaire 1 Principes de base pour utiliser R... 3 $$$ Démarrer R pour

Plus en détail

Support de Cours de Langage C. Christian Bac

Support de Cours de Langage C. Christian Bac Support de Cours de Langage C Christian Bac 15 février 2013 ii Table des matières Avant-propos xi 1 Historique et présentation 1 1.1 Historique........................................... 1 1.2 Présentation

Plus en détail

Introduction à l analyse exploratoire des données avec SPSS

Introduction à l analyse exploratoire des données avec SPSS Introduction à l analyse exploratoire des données avec SPSS Professeurs : O. Renaud et G. Pini Assistante: K. Iglesias Moniteurs : R. Wipfli et B. Ossipow Certaines parties de ce polycopié sont basées

Plus en détail

Initiation aux calculatrices graphiques numériques TI en français TI-82 STATS.fr TI-83 Plus TI-83 Plus SE TI-84 Plus TI-84 Plus SE

Initiation aux calculatrices graphiques numériques TI en français TI-82 STATS.fr TI-83 Plus TI-83 Plus SE TI-84 Plus TI-84 Plus SE Initiation aux calculatrices graphiques numériques TI en français TI-82 STATS.fr TI-83 Plus TI-83 Plus SE TI-84 Plus TI-84 Plus SE Introduction Nous avons conçu ce document dans le but de vous aider à

Plus en détail

mat 1681 MATHÉMATIQUES ASSISTÉES PAR ORDINATEUR

mat 1681 MATHÉMATIQUES ASSISTÉES PAR ORDINATEUR mat 1681 MATHÉMATIQUES ASSISTÉES PAR ORDINATEUR Yvan SAINT-AUBIN Alexandre GIROUARD Laurent DELISLE janvier 2010 Préface La familiarité des étudiants avec l informatique étant variable, nous avons entrepris

Plus en détail

Programmons avec Phrogram

Programmons avec Phrogram Programmons avec Phrogram Guide pour le vrai débutant Par Jon Schwartz Traduction Philippe Tanguy Mise à jour : Juin 2007 Site Web : Programmons avec Phrogram Page 1/42 Programmons avec Phrogram Table

Plus en détail

SGRIVI * SGRIVI PROCEDURE SPECIFIQUE PRISE EN CHARGE D UN PATIENT SUSPECT OU INFECTE AU VIRUS EBOLA. *(cf. LG/ULI/014)

SGRIVI * SGRIVI PROCEDURE SPECIFIQUE PRISE EN CHARGE D UN PATIENT SUSPECT OU INFECTE AU VIRUS EBOLA. *(cf. LG/ULI/014) PRISE EN CHARGE D UN PATIENT SUSPECT OU INFECTE AU VIRUS EBOLA V01 de 09.2014 Page 1 sur 36 REDACTION VERIFICATION APPROBATION SGRIVI * *(cf. LG/ULI/014) NOM : Dr. B. Grandbastien Fnctin : Crdnnateur de

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Dynamisez vos sites web avec Javascript!

Dynamisez vos sites web avec Javascript! Dynamisez vos sites web avec Javascript! Par Johann Pardanaud (Nesk) et Sébastien de la Marck (Thunderseb) Ce PDF vous est offert par Découvrez des métiers plein d'envies http://www.fr.capgemini.com/carrieres/technology_services/

Plus en détail

QU EST-CE QU UNE NOTICE SUR LES FONDS MARC ET POURQUOI EST-ELLE SI IMPORTANTE?

QU EST-CE QU UNE NOTICE SUR LES FONDS MARC ET POURQUOI EST-ELLE SI IMPORTANTE? QU EST-CE QU UNE NOTICE SUR LES FONDS MARC ET POURQUOI EST-ELLE SI IMPORTANTE? De nos jours, il est impossible de lire une revue de bibliothéconomie, d'assister à une conférence pour bibliothécaires voire

Plus en détail

Graph 25+ Pro au lycée

Graph 25+ Pro au lycée Utiliser sa calculatrice Graph 25+ Pro au lycée Par Yves Coudert www.casio-education.fr Sommaire 1 - Description des principales fonctionnalités... 3 2 - SYSTEM : Initialisation et réglages de la calculatrice....

Plus en détail

Grilamid polyamide 12, polymère technique pour de hautes exigences

Grilamid polyamide 12, polymère technique pour de hautes exigences Grilamid plyamide 12, plymère technique pur de hautes exigences Table des matières 3 Intrductin 4 Cmparaisn avec d'autres plyamides 5 La nmenclature du Grilamid 6 Exemples d'applicatins 8 Caractéristiques

Plus en détail