Transcription of Logiciel R et programmation - Ewen Gallic
1 Ewen Gallic1 programmation1. [at] notes de cours ont t r alis es dans le cadre d un enseignement d introduction Radress des tudiants du Master de Statistique et conom trie de la Facult des Sciences conomiquesde l Universit de Rennes ouvrage a pour but l initiation au Logiciel statistique et au langage informatique portant lem me nom,R, afin d tre capable de s en servir de mani re efficace et lecteur peut ex cuter tous les exemples fournis (et est vivement encourag le faire).Des exercices viennent clore certains chapitres. Les corrections sont disponibles en ligne l adresse suivante : qui s adressent ces notes ?Dans un premier temps, cet ouvrage s adresse aux d butants qui souhaientent apprendre lesbases du langage et du logicielR. Le lecteur initi peut galement s appuyer sur ces notes afind y retrouver des rappels sur les notions manuel est le produit de plusieurs ann es de pratique, qui ont d but es en 2011 gr ce Christophe Cariou, que je tiens remercier pour m avoir souffl l id e d utiliserRpour r aliserdes projets amusants sur lesquels nous avons travaill s.
2 Un norme merci Arthur Charpentierpour la quantit de savoir et d astuces fournis sur l utilisation deR, et qui est l origine denombreux exemples pr sents dans ces notes de cours. Merci aussi Fran ois Briatte de m avoirintroduit de nouveaux horizons dans le langage, et aussi Gauthier Vermandel pour sesnombreux conseils. Merci galement Julien-Yacine Chaqra pour ses suggestions et , merci toute la communaut Rd exister et de proposer ce partage de savoir librementet des mati res1 Historique .. Pr sentation de l espace de travail .. La console et les fen tres de script .. Les variables .. Assignation .. Conventions de nommage .. Les objets en m moire .. Modification, suppression .. Lespackages.. L aide .. Un environnement de d veloppement : RStudio .. 62 Donn Types de donn es.
3 Mode .. Longueur .. Donn es manquantes .. L objet vide .. Structure des donn es .. Structures de base .. Vecteurs .. Facteurs .. Dates .. Matrices .. Listes .. Bases de donn es .. Data frames .. Data table .. Importation, exportation et cr ation de donn es .. Importation .. La .. La fonctionscan.. La .. 23iiiTABLE DES MATI Importation depuis Excel .. Importation depuis d autres formats .. Exportation .. G n ration .. S quences r guli res .. S quences pseudo-al atoires .. Manipulation des donn es .. Op rateurs .. Op rateurs arithm tiques .. Op rateurs de comparaison .. Op rateurs logiques .. Attention au recyclage .. Acc s aux valeurs, modifications .. Acc s par indices .. Acc s par noms.
4 Cha nes de caract res .. Concat nation .. Conversion en majuscules ou minuscules .. Compter le nombre de caract res d une cha ne .. Extraction de sous-cha nes .. Recherche de cha nes de caract res .. Nettoyage, compl tion .. Dates .. Extraction .. Op rations .. Intervalles de dates .. S quence de dates .. Fuseaux horaires .. Param tres locaux .. Calculs matriciels .. Addition, soustraction .. Multiplication, division .. D terminant, trace .. Data frames .. S lection .. Filtrage .. Retirer les valeurs dupliqu es .. Modification des colonnes .. Tri .. Jointures .. Agr gation .. Stacking et unstacking .. Data tables .. Cr ation, conversion .. S lection .. Filtrage .. Retirer les valeurs dupliqu es.
5 Cl s .. Modification des colonnes .. Tri .. Copie .. 89ivTABLE DES MATI Jointures .. Agr gation .. Quelques fonctions utiles .. Exercices .. 963 D finition .. La structure d une fonction .. Le corps d une fonction .. Les param tres d une fonction .. Appel sans noms .. Param tres effectifs .. Appel avec des noms partiels .. Fonctions sans param tres .. La param tre sp .. Port e des fonctions .. Exercices .. 1094 Boucles et calculs Les boucles .. Les boucles avecwhile().. Les boucles avecfor().. Les conditions .. Les instructionsif..else.. La fonctionswitch.. L instructionrepeat.. ,break.. L instructionnext.. ,break.. Barre de progression .. La vectorisation .. Les fonctions du packageplyr.. :a*ply().. frameeninput:d*ply().. :l*ply().
6 Calcul parall le .. Les fonctions de la familleapplydu packagebase.. La fonctionlapply.. La fonctionsapply.. La fonctionvapply.. La fonctionapply.. La fonctiontapply.. La fonctionmapply.. La fonctionVectorize.. Exercices .. 1315 Structure .. Des graphiques labor s avecggplot().. Param tres esth tiques .. Param tres g om triques (fonctionsgeom_*()) .. Points .. Lignes .. Polygones .. 142vTABLE DES MATI Boxplot .. Gigue .. Courbe de tendance .. Histogramme .. Densit .. Param tres statistiques (fonctionsstat_*()) .. chelles (fonctionsscale_*()) .. Groupes .. Annotations .. Texte .. Lignes .. Rectangles .. Positions .. Facettes .. La fonctionfacet_grid().. La fonctionfacet_wrap().. chelles et facettes .. Coordonn es .. Titres, axes, l gendes.
7 Enregistrement des graphiques .. Cartes .. R cup rer des cartes toutes faites .. Fichiershapefile.. Carte choropl the .. Graphiques en 3D .. Exercices .. 1816 R gressions lin aires Rappels .. Donn es de l exemple .. Estimation des param tres .. Lecture des sorties .. Extractions .. Variables cat gorielles .. Tests de nullit des coefficients et intervalles de confiance .. Pr visions .. Exportation des r sultats .. Exercices .. 2007 Expressions r guli Les recherches basiques .. Les classes de caract res .. Les quantificateurs .. Les m tacaract res .. Fonctions d extraction .. Quelques fonctions dupackagestringr.. La fonctionstr_detect().. La fonctionstr_extract().. La fonctionstr_extract_all().. La fonctionstr_match().. 212viTABLE DES MATI La fonctionstr_match_all().
8 La fonctionstr_locate().. La fonctionstr_locate_all().. La fonctionstr_replace().. La fonctionstr_replace_all().. La fonctionstr_split().. La fonctionstr_string_fixed().. 216R f rences217 Index des expressionsR219viiTABLE DES MATI RESviii1 IntroductionCe document est construit principalement l aide des r f rences suivantes : Lafaye de Micheauxet al. (2011), Farnsworth (2008), Charpentier (2014), Zuur et al. (2009), Paradis (2002) et Goulet(2014). HistoriqueDans le milieu des ann es 1970, une quipe de chercheurs de AT&T Bell Laboratories, compos ede John Chambers, Douglas Bates, Rick Becker, Bill Cleveland, Trevor Hastie, Daryl Pregibonet Allan Wilks, d veloppe un langage de programmation appel S(la lettreSfaisant r f rence statistics). Il s agit d un langage permettant de manipuler les donn es et d effectuer des analysesstatistiques et graphiques.
9 Dans le milieu des ann es 1990, Ross Ihaka et Robert Gentlemancr nt leRau d partement de Statistiques de l Universit d Auckland. Ce langage et Logiciel ,inspir duSet deSchemeest distribu sous les termes de la GNUG eneral Public Licence. LaRDevelopment Core Teamse charge de distribuer et de d velopper le logicielR. De nombreuxcontributeurs travers le monde participent au d veloppement Pr sentation de l espace de La console et les fen tres de scriptRest un langage interpr t , c est- -dire qu il n cessite un interpr te pour ex cuter les com-mandes, et n a pas de phase de compilation. Il existe plusieurs fa ons de travailler avecR: soitdirectement dans la console (qui est un interpr te), soit dans une fen tre de script (Fig ).La seconde m thode est fortement conseill e, puisqu elle permet de sauvegarder le code et d yacc der facilement pour une utilisation utl rieure.
10 De plus, il existe souvent des raccourcis cla-viers, en fonction de l diteur utilis , qui permettent de soumettre le code de la fen tre de script l interpr te. Les fichiers de code que l on sauvegardent poss dent l extension .R .Dans la console, la fin de l affichage d ouverture de sessionR, se trouve le caract re>(prompt),invitant l utilisateur inscrire une commande. Les expressions sont valu es une fois qu elle sontsoumises ( l aide de la toucheENTREE) et le r sultat est donn , lorsqu il n y a pas d erreur dansle code, juste en dessous :11. INTRODUCTION> 2+1## [1] Console et fen tre de script sous Mac OS XPar la suite, le symbole d invite de commande ne sera plus affich e dans les cadres de code, afinde permettre au lecteur de reproduire facilement les r sultats obtenus en copiant et collant lesinstructions. Par ailleurs, dans ce document, contrairement ce que l on peut observer dans laconsoleR, le r sultat de l valutation de l expression 2+1 est pr c d de deux symboles di symbole#indique Rde ne pas evaluer le code qui suit, jusqu la fin de la ligne.