Cours complet pour débutants pour apprendre la programmation en R Par Vincent G
Cours complet pour débutants pour apprendre la programmation en R Par Vincent Goulet - Laurent Caron Date de publication : 10 mars 2018 Il s'agit d'un cours complet d'introduction à la programmation. En partant des concepts mathématiques, vous allez apprendre, de bout en bout, à programmer avec R, pour de meilleures analyses et modélisations. Plusieurs exercices vous sont proposés pour une prise en main pratique. Un espace vous est proposé sur le forum pour recevoir vos avis. Commentez Cours complet pour débutants pour apprendre la programmation en R par Vincent Goulet - Laurent Caron Introduction...................................................................................................................................................................5 1 - Présentation du langage R....................................................................................................................................5 1-1 - Bref historique............................................................................................................................................... 6 1-2 - Description sommaire de R...........................................................................................................................6 1-3 - Interfaces....................................................................................................................................................... 7 1-4 - Stratégies de travail...................................................................................................................................... 7 1-5 - Éditeurs de texte et environnements intégrés.............................................................................................. 8 1-6 - Anatomie d'une session de travail.............................................................................................................. 11 1-7 - Répertoire de travail....................................................................................................................................12 1-8 - Consulter l'aide en ligne..............................................................................................................................12 1-9 - Où trouver de la documentation................................................................................................................. 12 1-10 - Exemples................................................................................................................................................... 12 1-11 - Exercices................................................................................................................................................... 14 2 - Bases du langage R............................................................................................................................................ 14 2-1 - Commandes R.............................................................................................................................................15 2-2 - Conventions pour les noms d'objets...........................................................................................................16 2-3 - Les objets R................................................................................................................................................ 17 2-3-1 - Modes et types de données...............................................................................................................17 2-3-2 - Longueur............................................................................................................................................. 18 2-3-3 - Objet spécial NULL.............................................................................................................................18 2-3-4 - Valeurs manquantes, indéterminées et infinies..................................................................................18 2-3-5 - Attributs............................................................................................................................................... 19 2-4 - Vecteurs.......................................................................................................................................................20 2-5 - Matrices et tableaux.................................................................................................................................... 20 2-6 - Listes............................................................................................................................................................23 2-7 - Data frames.................................................................................................................................................24 2-8 - Indiçage....................................................................................................................................................... 25 2-9 - Exemples..................................................................................................................................................... 27 2-10 - Exercices................................................................................................................................................... 33 3 - Opérateurs et fonctions........................................................................................................................................34 3-1 - Opérations arithmétiques.............................................................................................................................35 3-2 - Opérateurs...................................................................................................................................................36 3-3 - Appels de fonctions.....................................................................................................................................36 3-4 - Quelques fonctions utiles............................................................................................................................ 37 3-4-1 - Manipulation de vecteurs....................................................................................................................37 3-4-2 - Recherche d'éléments dans un vecteur............................................................................................. 38 3-4-3 - Arrondi.................................................................................................................................................39 3-4-4 - Sommaires et statistiques descriptives...............................................................................................39 3-4-5 - Sommaires cumulatifs et comparaisons élément par élément........................................................... 40 3-4-6 - Opérations sur les matrices................................................................................................................41 3-4-7 - Produit extérieur..................................................................................................................................42 3-5 - Structures de contrôle................................................................................................................................. 42 3-5-1 - Exécution conditionnelle..................................................................................................................... 43 3-5-2 - Boucles................................................................................................................................................43 3-6 - Fonctions additionnelles.............................................................................................................................. 44 3-7 - Exemples..................................................................................................................................................... 45 3-8 - Exercices..................................................................................................................................................... 50 4 - Exemples résolus.................................................................................................................................................51 4-1 - Calcul de valeurs actuelles......................................................................................................................... 52 4-2 - Fonctions de masse de probabilité............................................................................................................. 53 4-3 - Fonction de répartition de la loi gamma..................................................................................................... 55 4-4 - Algorithme du point fixe.............................................................................................................................. 56 4-5 - Suite de Fibonacci.......................................................................................................................................58 4-6 - Exercices..................................................................................................................................................... 59 5 - Fonctions définies par l'usager............................................................................................................................61 5-1 - Définition d'une fonction.............................................................................................................................. 62 5-2 - Retourner des résultats...............................................................................................................................62 5-3 - Variables locales et globales...................................................................................................................... 63 - 2 - Le contenu de cet article est rédigé par Vincent Goulet et est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé. Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright ® 2018 Developpez.com. https://r.developpez.com/tutoriels/cours-complet-programmation-r/ Cours complet pour débutants pour apprendre la programmation en R par Vincent Goulet - Laurent Caron 5-4 - Exemple de fonction....................................................................................................................................63 5-5 - Fonctions anonymes................................................................................................................................... 64 5-6 - Débogage de fonctions............................................................................................................................... 64 5-7 - Styles de codage.........................................................................................................................................65 5-8 - Exemples..................................................................................................................................................... 66 5-9 - Exercices..................................................................................................................................................... 68 6 - Concepts avancés................................................................................................................................................71 6-1 - Argument '...'................................................................................................................................................72 6-2 - Fonction apply............................................................................................................................................. 72 6-3 - Fonctions lapply et sapply...........................................................................................................................74 6-4 - Fonction mapply.......................................................................................................................................... 75 6-5 - Fonction replicate........................................................................................................................................ 76 6-6 - Classes et fonctions génériques................................................................................................................. 76 6-7 - Exemples..................................................................................................................................................... 78 6-8 - Exercices..................................................................................................................................................... 83 7 - Fonctions d'optimisation.......................................................................................................................................86 7-1 - Fonctions d'optimisation et de calcul de racines........................................................................................ 87 7-1-1 - Fonction uniroot.................................................................................................................................. 87 7-1-2 - Fonction optimize................................................................................................................................87 7-1-3 - Fonction nlm....................................................................................................................................... 87 7-1-4 - Fonction nlminb...................................................................................................................................88 7-1-5 - Fonction optim.................................................................................................................................... 88 7-1-6 - polyroot................................................................................................................................................88 7-2 - Astuce Ripley...............................................................................................................................................88 7-3 - Pour en savoir plus..................................................................................................................................... 89 7-4 - Exemples..................................................................................................................................................... 89 7-5 - Exercices..................................................................................................................................................... 91 8 - Générateurs de nombres aléatoires.................................................................................................................... 93 8-1 - Générateurs de nombres aléatoires............................................................................................................93 8-2 - Fonctions de simulation de variables aléatoires non uniformes................................................................. 93 8-3 - Exemples..................................................................................................................................................... 94 8-4 - Exercices..................................................................................................................................................... 95 A - GNU Emacs et ESS : la base.............................................................................................................................96 A-1 - Mise en contexte.........................................................................................................................................96 A-2 - Installation................................................................................................................................................... 97 A-3 - Description sommaire................................................................................................................................. 97 A-4 - Emacs-ismes et Unix-ismes........................................................................................................................98 A-5 - Commandes de base..................................................................................................................................99 A-5-1 - Les essentielles..................................................................................................................................99 A-5-2 - Manipulation de fichiers....................................................................................................................100 A-5-3 - Déplacements simples du curseur................................................................................................... 100 A-5-4 - Sélection de texte, copier, coller, couper.........................................................................................101 A-5-5 - Manipulation de fenêtres..................................................................................................................101 A-5-6 - Manipulation de fihiers de script dans le mode ESS....................................................................... 102 A-5-7 - Interaction avec l'invite de commande R......................................................................................... 102 A-5-8 - Consultation des rubriques d'aide de R...........................................................................................102 A-6 - Anatomie d'une session de travail (bis)....................................................................................................103 A-7 - Configuration de l'éditeur.......................................................................................................................... 104 A-8 - Aide et documentation.............................................................................................................................. 104 B - RStudio : une introduction................................................................................................................................. 105 B-1 - Installation................................................................................................................................................. 105 B-2 - Description sommaire............................................................................................................................... 105 B-3 - Projets....................................................................................................................................................... 106 B-4 - Commandes de base................................................................................................................................106 B-5 - Anatomie d'une session de travail (ter).................................................................................................... 107 B-6 - Configuration de l'éditeur.......................................................................................................................... 108 B-7 - Aide et documentation.............................................................................................................................. 109 C - Planification d'une simulation en R...................................................................................................................109 - 3 - Le contenu de cet article est rédigé par Vincent Goulet et est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé. Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright ® 2018 Developpez.com. https://r.developpez.com/tutoriels/cours-complet-programmation-r/ Cours complet pour débutants pour apprendre la programmation en R par Vincent Goulet - Laurent Caron C-1 - Contexte....................................................................................................................................................110 C-2 - Première approche : avec une boucle......................................................................................................110 C-3 - Seconde approche : avec sapply............................................................................................................. 111 C-4 - Variante de la seconde approche............................................................................................................ 113 C-5 - Gestion des fichiers.................................................................................................................................. 113 C-6 - Exécution en lot........................................................................................................................................ 114 C-7 - Conclusion.................................................................................................................................................114 D - Installation de packages dans R.......................................................................................................................115 Réponses des exercices..........................................................................................................................................116 Chapitre 2........................................................................................................................................................... 116 Chapitre 3........................................................................................................................................................... 117 Chapitre 4........................................................................................................................................................... 118 Chapitre 5........................................................................................................................................................... 119 Chapitre 6........................................................................................................................................................... 122 Chapitre 7........................................................................................................................................................... 123 Chapitre 8........................................................................................................................................................... 124 Code source.............................................................................................................................................................124 Bibliographie.............................................................................................................................................................124 Note de la rédaction Developpez.com.................................................................................................................... 125 Index.........................................................................................................................................................................126 - 4 - Le contenu de cet article est rédigé par Vincent Goulet et est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé. Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright ® 2018 Developpez.com. https://r.developpez.com/tutoriels/cours-complet-programmation-r/ Cours complet pour débutants pour apprendre la programmation en R par Vincent Goulet - Laurent Caron Introduction Le système R connaît depuis plus d'une décennie une progression remarquable dans ses fonctionnalités, dans la variété de ses domaines d'application ou, plus simplement, dans le nombre de ses utilisateurs. La documentation disponible suit la même tendance : plusieurs maisons d'édition proposent dans leur catalogue des ouvrages — voire des collections complètes — dédiés spécifiquement aux utilisations que l'on fait de R en sciences naturelles, en sciences sociales, en finance, etc. Néanmoins, peu d'ouvrages se concentrent sur l'apprentissage de R en tant que langage de programmation sous-jacent aux fonctionnalités statistiques. C'est la niche que nous tâchons d'occuper. Le présent ouvrage se base sur des notes de cours et des exercices utilisés à l'École d'actuariat de l'Université Laval. L'enseignement du langage R est axé sur l'exposition à un maximum de code — que nous avons la prétention de croire bien écrit — et sur la pratique de la programmation. C'est pourquoi les chapitres sont rédigés de manière synthétique et qu'ils comportent peu d'exemples au fil du texte. En revanche, le lecteur est appelé à lire et à exécuter le code informatique se trouvant dans les sections d'exemples à la fin de chacun des chapitres. Ce code et les commentaires qui l'accompagnent reviennent sur l'essentiel des concepts du chapitre et les complémentent souvent. Nous considérons l'exercice d'« étude active » consistant à exécuter du code et à voir ses effets comme essentiel à l'apprentissage du langage R. Afin d'ancrer la présentation dans un contexte concret, plusieurs chapitres proposent également d'entrée de jeu un problème à résoudre. Nous fournissons des indications en cours de chapitre et la solution complète à la fin. Afin d'être facilement identifiables, ces éléments de contenu se présentent dans des encadrés de couleur contrastante. Le texte des sections d'exemples est disponible en format électronique sous la rubrique de la documentation par des tiers (Contributed) du site Comprehensive R Archive Network. On peut obtenir directement l'archive en suivant le lien fourni à la page précédente. Un symbole de lecture vidéo indique qu'une capsule vidéo est disponible dans la chaîne YouTube de l'auteur sur le sujet en hyperlien. Certains exemples et exercices trahissent le premier public de ce document : on y fait à l'occasion référence à des concepts de base de la théorie des probabilités et des mathématiques financières. Les contextes actuariels demeurent néanmoins peu nombreux et ne devraient généralement pas dérouter le lecteur pour qui ces notions sont moins familières. Les réponses de tous les exercices se trouvent en annexe. En consultation électronique, le numéro d'un exercice est un hyperlien vers sa réponse, et vice versa. On trouvera également en annexe de brèves introductions à l'éditeur de texte GNU Emacs et à l'environnement de développement intégré RStudio, un court exposé sur la planification uploads/s1/ introduction-a-la-programmation-r.pdf
Documents similaires
-
268
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 27, 2022
- Catégorie Administration
- Langue French
- Taille du fichier 2.1798MB