<!DOCTYPE html>

<html lang="fr" xml:lang="fr">

<head>

<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />




<title>Extensions (installation, mise à jour)</title>

<script src="libs/header-attrs-2.25/header-attrs.js"></script>
<script src="libs/jquery-3.6.0/jquery-3.6.0.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="libs/bootstrap-3.3.5/css/paper.min.css" rel="stylesheet" />
<script src="libs/bootstrap-3.3.5/js/bootstrap.min.js"></script>
<script src="libs/bootstrap-3.3.5/shim/html5shiv.min.js"></script>
<script src="libs/bootstrap-3.3.5/shim/respond.min.js"></script>
<style>h1 {font-size: 34px;}
       h1.title {font-size: 38px;}
       h2 {font-size: 30px;}
       h3 {font-size: 24px;}
       h4 {font-size: 18px;}
       h5 {font-size: 16px;}
       h6 {font-size: 12px;}
       code {color: inherit; background-color: rgba(0, 0, 0, 0.04);}
       pre:not([class]) { background-color: white }</style>
<script src="libs/navigation-1.1/tabsets.js"></script>
<link href="libs/pagedtable-1.1/css/pagedtable.css" rel="stylesheet" />
<script src="libs/pagedtable-1.1/js/pagedtable.js"></script>
<link href="libs/anchor-sections-1.1.0/anchor-sections.css" rel="stylesheet" />
<link href="libs/anchor-sections-1.1.0/anchor-sections-hash.css" rel="stylesheet" />
<script src="libs/anchor-sections-1.1.0/anchor-sections.js"></script>
<meta name="robots" content="index, follow">
<link rel="stylesheet" href="./include/analyse-R.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script>
<script type="text/javascript" src="./libs/bigfoot-2.1.4/bigfoot.min.js"></script>
<link rel="stylesheet" href="./libs/bigfoot-2.1.4/bigfoot-number.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous">
<link rel="stylesheet" href="./libs/colorbox-1.6.1/colorbox.css" />
<script type="text/javascript" src="./libs/colorbox-1.6.1/jquery.colorbox-min.js"></script>
<!--- favicon --->
<link rel="apple-touch-icon" sizes="57x57" href="./images/favicon/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="./images/favicon/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="./images/favicon/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="./images/favicon/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="./images/favicon/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="./images/favicon/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="./images/favicon/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="./images/favicon/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="./images/favicon/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192"  href="./images/favicon/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="./images/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="./images/favicon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="./images/favicon/favicon-16x16.png">
<link rel="manifest" href="./images/favicon/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="./images/favicon/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-86STMQ5JPT"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-86STMQ5JPT');
</script>

<style type="text/css">
  code{white-space: pre-wrap;}
  span.smallcaps{font-variant: small-caps;}
  span.underline{text-decoration: underline;}
  div.column{display: inline-block; vertical-align: top; width: 50%;}
  div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
  ul.task-list{list-style: none;}
      .display.math{display: block; text-align: center; margin: 0.5rem auto;}
  </style>



<style type="text/css">
  code {
    white-space: pre;
  }
  .sourceCode {
    overflow: visible;
  }
</style>
<style type="text/css" data-origin="pandoc">
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
  { counter-reset: source-line 0; }
pre.numberSource code > span
  { position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
  { content: counter(source-line);
    position: relative; left: -1em; text-align: right; vertical-align: baseline;
    border: none; display: inline-block;
    -webkit-touch-callout: none; -webkit-user-select: none;
    -khtml-user-select: none; -moz-user-select: none;
    -ms-user-select: none; user-select: none;
    padding: 0 4px; width: 4em;
    color: #aaaaaa;
  }
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-left: 4px; }
div.sourceCode
  {   }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { color: #008000; } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { color: #008000; font-weight: bold; } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */

</style>
<script>
// apply pandoc div.sourceCode style to pre.sourceCode instead
(function() {
  var sheets = document.styleSheets;
  for (var i = 0; i < sheets.length; i++) {
    if (sheets[i].ownerNode.dataset["origin"] !== "pandoc") continue;
    try { var rules = sheets[i].cssRules; } catch (e) { continue; }
    var j = 0;
    while (j < rules.length) {
      var rule = rules[j];
      // check if there is a div.sourceCode rule
      if (rule.type !== rule.STYLE_RULE || rule.selectorText !== "div.sourceCode") {
        j++;
        continue;
      }
      var style = rule.style.cssText;
      // check if color or background-color is set
      if (rule.style.color === '' && rule.style.backgroundColor === '') {
        j++;
        continue;
      }
      // replace div.sourceCode by a pre.sourceCode rule
      sheets[i].deleteRule(j);
      sheets[i].insertRule('pre.sourceCode{' + style + '}', j);
    }
  }
})();
</script>







<style type = "text/css">
.main-container {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}
img {
  max-width:100%;
}
.tabbed-pane {
  padding-top: 12px;
}
.html-widget {
  margin-bottom: 20px;
}
button.code-folding-btn:focus {
  outline: none;
}
summary {
  display: list-item;
}
details > summary > p:only-child {
  display: inline;
}
pre code {
  padding: 0;
}
</style>



<!-- tabsets -->

<style type="text/css">
.tabset-dropdown > .nav-tabs {
  display: inline-table;
  max-height: 500px;
  min-height: 44px;
  overflow-y: auto;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.tabset-dropdown > .nav-tabs > li.active:before, .tabset-dropdown > .nav-tabs.nav-tabs-open:before {
  content: "\e259";
  font-family: 'Glyphicons Halflings';
  display: inline-block;
  padding: 10px;
  border-right: 1px solid #ddd;
}

.tabset-dropdown > .nav-tabs.nav-tabs-open > li.active:before {
  content: "\e258";
  font-family: 'Glyphicons Halflings';
  border: none;
}

.tabset-dropdown > .nav-tabs > li.active {
  display: block;
}

.tabset-dropdown > .nav-tabs > li > a,
.tabset-dropdown > .nav-tabs > li > a:focus,
.tabset-dropdown > .nav-tabs > li > a:hover {
  border: none;
  display: inline-block;
  border-radius: 4px;
  background-color: transparent;
}

.tabset-dropdown > .nav-tabs.nav-tabs-open > li {
  display: block;
  float: none;
}

.tabset-dropdown > .nav-tabs > li {
  display: none;
}
</style>

<!-- code folding -->




</head>

<body>


<div class="container-fluid main-container">



<nav>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href=".">analyse-R</a>
    </div>
    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li class="dropdown">
          <a href="manipuler" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Manipuler <span class="caret"></span></a>
          <ul class="dropdown-menu multi-column columns-3" role="menu" id="menu_manipuler">
            <div class="row">
              <div class="col-sm-4">
  	            <ul class="multi-column-dropdown">
  		            <li class="dropdown-header">Prise en main</li>
                  <li><a href="presentation-et-philosophie.html">Présentation et Philosophie</a></li>
                  <li><a href="installation-de-R-et-RStudio.html">Installation de <strong>R</strong> et <strong>RStudio</strong></a></li>
                  <li><a href="premier-contact.html">Premier contact</a></li>
                  <li><a href="premier-travail-avec-les-donnees.html">Premier travail avec des données</a></li>
                  <li><a href="extensions.html">Extensions (installation, mise à jour)</a></li>
                  <li><a href="introduction-au-tidyverse.html">Introduction au <strong>tidyverse</strong></a></li>
                  <li><a href="vecteurs-indexation-et-assignation.html">Vecteurs, indexation et assignation</a></li>
                  <li><a href="listes-et-tableaux-de-donnees.html">Listes et Tableaux de données</a></li>
                  <li><a href="facteurs-et-vecteurs-labellises.html">Facteurs et vecteurs labellisés</a></li>
                  <li><a href="organiser-ses-fichiers.html">Organiser ses fichiers</a></li>
                  <li><a href="import-de-donnees.html">Import de données</a></li>
                  <li><a href="ou-trouver-de-l-aide.html">Où trouver de l'aide ?</a></li>
  	            </ul>
              </div>
              <div class="col-sm-4">
  	            <ul class="multi-column-dropdown">
  		            <li class="dropdown-header">Manipulation de données</li>
  		            <li><a href="visualiser-ses-donnees.html">Visualiser ses données</a></li>
  		            <li><a href="recodage.html">Recodage de variables</a></li>
                  <li><a href="manipuler-les-donnees-avec-dplyr.html">Manipuler les données avec <strong>dplyr</strong></a></li>
                  <li><a href="manipulations-avancees-avec-data-table.html">Manipulations avancées avec <strong>data.table</strong></a></li>
                  <li><a href="tris.html">Tris</a></li>
                  <li><a href="sous-ensembles.html">Sous-ensembles</a></li>
                  <li><a href="fusion-de-tables.html">Fusion de tables</a></li>
                  <li><a href="gestion-des-dates.html">Gestion des dates</a></li>
                  <li><a href="fonctions-a-fenetre.html">Fonctions à fenêtre</a></li>
                  <li><a href="manipuler-du-texte.html">Manipuler du texte avec <strong>stringr</strong></a></li>
                  <li><a href="reorganiser-ses-donnees-avec-tidyr.html">Réorganiser ses données avec <strong>tidyr</strong></a></li>
                  <!--<li><a href="scraping.html.old">Scraping</a></li>-->
  	            </ul>
              </div>
              <div class="col-sm-4">
  	            <ul class="multi-column-dropdown">
                  <li class="dropdown-header">Exporter</li>
                  <li><a href="export-de-donnees.html">Export de données</a></li>
                  <li><a href="export-de-graphiques.html">Export de graphiques</a></li>
  	            </ul>
              </div>
            </div>
          </ul>
        </li>
        <li class="dropdown">
          <a href="analyser" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Analyser <span class="caret"></span></a>
          <ul class="dropdown-menu multi-column columns-3" role="menu" id="menu_analyser">
            <div class="row">
              <div class="col-sm-4">
  	            <ul class="multi-column-dropdown">
  		            <li class="dropdown-header">Statistiques introductives</li>
                  <li><a href="statistique-univariee.html">Statistique univariée</a></li>
                  <li><a href="statistique-bivariee.html">Statistique bivariée</a></li>
                  <li><a href="intro-ggplot2.html">Introduction à <strong>ggplot2</strong>, la grammaire des graphiques</a></li>
                  <li><a href="graphiques-bivaries-ggplot2.html">Graphiques univariés et bivariés avec <strong>ggplot2</strong></a></li>
                  <li><a href="donnees-ponderees.html">Données pondérées</a></li>
  	            </ul>
              </div>
              <div class="col-sm-4">
  	            <ul class="multi-column-dropdown">
  		            <li class="dropdown-header">Statistiques intermédiaires</li>
  		            <li><a href="intervalles-de-confiance.html">Intervalles de confiance</a></li>
                  <li><a href="comparaisons-moyennes-et-proportions.html">Comparaisons (moyennes et proportions)</a></li>
                  <li><a href="definir-un-plan-d-echantillonnage-complexe.html">Définir un plan d'échantillonnage complexe avec <strong>survey</strong></a></li>
                  <li><a href="regression-lineaire.html">Régression linéaire</a></li>
                  <li><a href="regression-logistique.html">Régression logistique binaire, multinomiale et ordinale</a></li>
                  <li><a href="analyse-des-correspondances-multiples.html">Analyse des correspondances multiples (ACM)</a></li>
                  <li><a href="classification-ascendante-hierarchique.html">Classification ascendante hiérarchique (CAH)</a></li>
  	            </ul>
              </div>
              <div class="col-sm-4">
  	            <ul class="multi-column-dropdown">
                  <li class="dropdown-header">Statistiques avancées</li>
                  <li><a href="gtsummary.html">Tableaux statistiques avancés avec <strong>gtsummary</strong></a></li>
                  <li><a href="effets-d-interaction.html">Effets d'interaction dans un modèle</a></li>
                  <li><a href="multicolinearite.html">Multicolinéarité dans la régression</a></li>
                  <li><a href="modeles.html">Quel type de modèles choisir ?</a></li>
                  <li><a href="analyse-de-survie.html">Analyse de survie</a></li>
                  <li><a href="analyse-de-sequences.html">Analyse de séquences</a></li>
                  <!--<li><a href="modeles-a-effets-aleatoires.html">Modèles à effets aléatoires (modèles mixtes et GEE)</a></li>-->
                  <li><a href="trajectoires-de-soins.html">Trajectoires de soins&nbsp;: un exemple de données longitudinales</a></li>
                  <li><a href="analyse-de-reseaux.html">Analyse de réseaux</a></li>
                  <li><a href="analyse-spatiale.html">Analyse spatiale</a></li>
                  <li><a href="analyse-textuelle.html">Analyse textuelle</a></li>
  	            </ul>
              </div>
            </div>
          </ul>
        </li>
        <li class="dropdown">
          <a href="approfondir" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Approfondir <span class="caret"></span></a>
          <ul class="dropdown-menu multi-column columns-3" role="menu" id="menu_approfondir">
            <div class="row">
              <div class="col-sm-4">
  	            <ul class="multi-column-dropdown">
  		            <li class="dropdown-header">Graphiques</li>
                  <li><a href="ggplot2.html"><strong>ggplot2</strong> et la grammaire des graphiques</a></li>
                  <li><a href="etendre-ggplot2.html">Étendre <strong>ggplot2</strong></a></li>
                  <li><a href="combiner-plusieurs-graphiques.html">Combiner plusieurs graphiques</a></li>
                  <li><a href="exemples-graphiques-avances.html">Exemples de graphiques avancés</a></li>
                  <li><a href="graphiques-interactifs.html">Graphiques interactifs</a></li>
                  <li><a href="lattice-graphiques-et-formules.html"><strong>lattice</strong> : graphiques et formules</a></li>
                  <li><a href="cartes.html">Cartes</a></li>
                  <li><a href="autres-extensions-graphiques.html">Autres extensions graphiques</a></li>
  	            </ul>
              </div>
              <div class="col-sm-4">
  	            <ul class="multi-column-dropdown">
  		            <li class="dropdown-header">Programmation</li>
  		            <li><a href="conditions-et-comparaisons.html">Conditions et comparaisons</a></li>
                  <li><a href="formules.html">Formules</a></li>
                  <li><a href="structures-conditionnelles.html">Structures conditionnelles</a></li>
                  <li><a href="vectorisation.html">Vectorisation (dont <strong>purrr</strong>)</a></li>
                  <li><a href="expressions-regulieres.html">Expressions régulières</a></li>
                  <!--<li class="dev"><a href="ecrire-ses-propres-fonctions.html">Écrire ses propres fonctions</a></li>-->
                  <li><a href="rmarkdown-les-rapports-automatises.html"><strong>R Markdown</strong> : les rapports automatisés</a></li>
  	            </ul>
              </div>
              <div class="col-sm-4">
  	            <ul class="multi-column-dropdown">
                  <li class="dropdown-header">Divers</li>
                  <li><a href="formater-nombres.html">Mettre en forme des nombres avec <strong>scales</strong></a></li>
                  <li><a href="couleurs.html">Couleurs et Palettes</a></li>
                  <li><a href="annotations-mathematiques.html">Annotations mathématiques</a></li>
                  <li><a href="calculer-un-age.html">Calculer un âge</a></li>
                  <li><a href="diagramme-de-lexis.html">Diagramme de Lexis</a></li>
  	            </ul>
              </div>
            </div>
          </ul>
        </li>
        <li class="dropdown">
          <a href="index" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Index <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu" id="menu_naviguer">
            <li><a href="index-des-concepts.html">Index des concepts</a></li>
            <li><a href="index-des-fonctions.html">Index des fonctions</a></li>
            <li><a href="index-des-extensions.html">Index des extensions</a></li>
          </ul>
        </li>
        <li><a href="analyse-R.pdf">PDF</a></li>
        <li><a href="https://larmarange.github.io/guide-R/">guide-R</a></li>
        <li><a href="https://larmarange.github.io/webin-R/">webin-R</a></li>
        <li><a href="https://www.youtube.com/c/webinR"><i class="fa fa-youtube" aria-hidden="true"></i></a></li>
        <!--<li><a href="https://github.com/larmarange/analyse-R">GitHub</a></li>-->
      </ul>
    <form id="rechercher" class="navbar-form navbar-right" role="search" style="padding-top: 5px;" method="get" action="https://duckduckgo.com/">
      <div class="form-group">
        <input name="q" type="text" class="form-control input-sm" placeholder="Rechercher">
      </div>
      <button type="submit" class="btn btn-default btn-sm" name="Rechercher">
        <span class="glyphicon glyphicon-search" aria-hidden="true"></span>
      </button>
    </form>
    </div><!--/.nav-collapse -->
  </div><!--/.container -->
</div><!--/.navbar -->
</nav>

<div class="row">

<div class="visible-lg">
<a href="https://github.com/larmarange/analyse-R"><img style="position: absolute; top: 60px; left: 40px; border: 0;" src="images/fork_me.png" alt="Contribuer sur GitHub"></a>
</div>

<div class="col-sm-9" role="main">
<article>

<div id="header">



<h1 class="title toc-ignore">Extensions (installation, mise à jour)</h1>

</div>

<div id="TOC">
<ul>
<li><a href="#présentation" id="toc-présentation">Présentation</a></li>
<li><a href="#le-tidyverse" id="toc-le-tidyverse">Le <q>tidyverse</q></a></li>
<li><a href="#installation-depuis-cran" id="toc-installation-depuis-cran">Installation depuis CRAN</a></li>
<li><a href="#installation-depuis-github" id="toc-installation-depuis-github">Installation depuis GitHub</a></li>
<li><a href="#mise-à-jour-des-extensions" id="toc-mise-à-jour-des-extensions">Mise à jour des extensions</a></li>
</ul>
</div>

<div class="guide-R">
<p>Une version actualisée de ce chapitre est disponible sur <strong>guide-R</strong> : <a href="https://larmarange.github.io/guide-R/bases/packages.html">Package</a></p>
</div>
<div class="webin-R">
<p>Ce chapitre est évoqué dans le webin-R #01 (premier contact avec R &amp; RStudio) sur <a href="https://youtu.be/9cyQk4Z_qPo">YouTube</a>.</p>
</div>
<div id="présentation" class="section level2 hasAnchor">
<h2 class="hasAnchor">Présentation<a href="#présentation" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>L’installation par défaut du logiciel <strong>R</strong> contient le cœur du programme ainsi qu’un ensemble de fonctions de base fournissant un grand nombre d’outils de traitement de données et d’analyse statistiques.</p>
<p><strong>R</strong> étant un logiciel libre, il bénéficie d’une forte communauté d’utilisateurs qui peuvent librement contribuer au développement du logiciel en lui ajoutant des fonctionnalités supplémentaires. Ces contributions prennent la forme d’<dfn data-index="extension">extensions</dfn> (<dfn data-index="package" lang="en">packages</dfn> en anglais) pouvant être installées par l’utilisateur et fournissant alors diverses fonctionnalités supplémentaires.</p>
<p>Il existe un très grand nombre d’extensions (plus de 6500 à ce jour), qui sont diffusées par un réseau baptisé <strong>CRAN</strong> (<dfn lang="en">Comprehensive R Archive Network</dfn><dfn data-index="CRAN"></dfn>).</p>
<p>La liste de toutes les extensions disponibles sur <strong>CRAN</strong> est disponible ici : <a href="http://cran.r-project.org/web/packages/" class="uri">http://cran.r-project.org/web/packages/</a>.</p>
<p>Pour faciliter un peu le repérage des extensions, il existe un ensemble de regroupements thématiques (économétrie, finance, génétique, données spatiales…) baptisés <dfn data-index="task view" lang="en">Task views</dfn> : <a href="http://cran.r-project.org/web/views/" class="uri">http://cran.r-project.org/web/views/</a>.</p>
<p>On y trouve notamment une <em>Task view</em> dédiée aux sciences sociales, listant de nombreuses extensions potentiellement utiles pour les analyses statistiques dans ce champ disciplinaire : <a href="http://cran.r-project.org/web/views/SocialSciences.html" class="uri">http://cran.r-project.org/web/views/SocialSciences.html</a>.</p>
<p>On peut aussi citer le site <em>Awesome R</em> (<a href="https://github.com/qinwf/awesome-R" class="uri">https://github.com/qinwf/awesome-R</a>) qui fournit une liste d’extensions choisies et triées par thématique.</p>
</div>
<div id="le-tidyverse" class="section level2 hasAnchor">
<h2 class="hasAnchor">Le <q>tidyverse</q><a href="#le-tidyverse" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>Hadley Wickham est professeur associé à l’université de Rice et scientifique en chef à <strong>Rstudio</strong>. Il a développé de nombreux extensions pour <strong>R</strong> (plus d’une cinquantaine à ce jours) qui, pour la plupart, fonctionne de manière harmonisée entre elles. Par ailleurs, la plupart s’intègre parfaitement avec <strong>RStudio</strong>. Cet ensemble d’extenions est appelé <dfn>tidyverse</dfn> et est développé sur GitHub : <a href="https://github.com/tidyverse/" class="uri">https://github.com/tidyverse/</a>. Une présentation plus générale du <dfn>tidyverse</dfn> est disponible sur le site de RStudio (<a href="https://www.rstudio.com/products/rpackages/" class="uri">https://www.rstudio.com/products/rpackages/</a>) et sur un sité dédié (<a href="http://tidyverse.org/" class="uri">http://tidyverse.org/</a>).</p>
<p>Pour certaines tâches, il peut exister plusieurs solutions / extensions différentes pour les réaliser. Dans la mesure où il n’est pas possible d’être exhaustif, nous avons fait le choix dans le cadre d’<strong>analyse-R</strong> de choisir en priorité, lorsque cela est possible, les extensions du <dfn>tidyverse</dfn>, en particulier <code class="pkg">haven</code>, <code class="pkg">readr</code> et <code class="pkg">readxl</code> pour l’import de données, <code class="pkg">dplyr</code>, <code class="pkg">tidyr</code> ou <code class="pkg">reshape2</code> pour la manipulation de données, <code class="pkg">ggplot2</code> pour les graphiques, <code class="pkg">lubridate</code> pour la gestion des dates, <code class="pkg">forcats</code> pour la manipulation des facteurs ou encore <code class="pkg">stringr</code> pour la manipulation de chaînes de caractères.</p>
<p>Il existe par ailleurs une extension homonyme <code class="pkg">tidyverse</code>. L’installation (voir ci-dessous) de cette extension permets l’installation automatique de l’ensemble des autres extensions du <df>tidyverse</df>. Le chargement de cette extension avec la fonction <code data-pkg="base">library</code> (voir ci-après) permets de charger en mémoire en une seule opération les principales extensions du <dfn>tidyverse</dfn>, à savoir <code class="pkg">ggplot2</code>, <code class="pkg">tibble</code>, <code class="pkg">tidyr</code>, <code class="pkg">readr</code>, <code class="pkg">purrr</code> et <code class="pkg">dplyr</code>.</p>
<p>Pour une présentation plus poussée, voir le <a href="introduction-au-tidyverse.html">chapitre consacré au tidyverse</a>.</p>
</div>
<div id="installation-depuis-cran" class="section level2 hasAnchor">
<h2 class="hasAnchor">Installation depuis CRAN<a href="#installation-depuis-cran" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>L’installation d’une extension se fait par la fonction <code data-pkg="utils">install.packages</code>, à qui on fournit le nom de l’extension. Par exemple, si on souhaite installer l’extension <strong>ade4</strong> :</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb1-1"><a href="#cb1-1" tabindex="-1"></a><span class="fu">install.packages</span>(<span class="st">&quot;ade4&quot;</span>, <span class="at">dep =</span> <span class="cn">TRUE</span>)</span></code></pre></div>
<p>L’option <code>dep=TRUE</code> indique à <strong>R</strong> de télécharger et d’installer également toutes les extensions dont l’extension choisie dépend pour son fonctionnement.</p>
<p>Sous <strong>RStudio</strong>, on pourra également cliquer sur <em>Install</em> dans l’onglet <em>Packages</em> du quadrant inférieur droit.</p>
<p>Une fois l’extension installée, elle peut être appelée depuis la console ou un fichier script avec la fonction <code data-pkg="base">library</code> ou la fonction <code data-pkg="base" data-rdoc="library">require</code> :</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb2-1"><a href="#cb2-1" tabindex="-1"></a><span class="fu">library</span>(ade4)</span></code></pre></div>
<p>À partir de là, on peut utiliser les fonctions de l’extension, consulter leur page d’aide en ligne, accéder aux jeux de données qu’elle contient, etc.</p>
<p>Pour mettre à jour l’ensemble des extensions installées, &lt;dfndata-index=“mise à jour, extensions”&gt;</dfn> la fonction <code data-pkg="utils">update.packages</code> suffit :</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb3-1"><a href="#cb3-1" tabindex="-1"></a><span class="fu">update.packages</span>()</span></code></pre></div>
<p>Sous <strong>RStudio</strong>, on pourra alternativement cliquer sur <em>Update</em> dans l’onglet <em>Packages</em> du quadrant inférieur droit.</p>
<p>Si on souhaite désinstaller une extension précédemment installée, on peut utiliser la fonction <code data-pkg="utils">remove.packages</code> :</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb4-1"><a href="#cb4-1" tabindex="-1"></a><span class="fu">remove.packages</span>(<span class="st">&quot;ade4&quot;</span>)</span></code></pre></div>
<div class="important">
<p>Il est important de bien comprendre la différence entre <code data-pkg="utils">install.packages</code> et <code data-pkg="base">library</code>. La première va chercher les extensions sur internet et les installe en local sur le disque dur de l’ordinateur. On n’a besoin d’effectuer cette opération qu’une seule fois. La seconde lit les informations de l’extension sur le disque dur et les met à disposition de <strong>R</strong>. On a besoin de l’exécuter à chaque début de session ou de script.</p>
</div>
</div>
<div id="installation-depuis-github" class="section level2 hasAnchor">
<h2 class="hasAnchor">Installation depuis GitHub<a href="#installation-depuis-github" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>Certains packages sont développés sur <a href="https://github.com/"><strong>GitHub</strong></a>. Dès lors, la version de développement sur <strong>GitHub</strong> peut contenir des fonctions qui ne sont pas encore disponibles dans la version stable disponible sur <strong>CRAN</strong>. Ils arrivent aussi parfois que certains packages ne soient disponibles que sur <strong>GitHub</strong>.</p>
<p>L’installation d’un package depuis <strong>GitHub</strong> est très facile grâce à la fonction <code data-pkg="devtools">install_github</code> de l’extension <code class="pkg">devtools</code> (que l’on aura préalablement installée depuis <strong>CRAN</strong> ;-) ).</p>
</div>
<div id="mise-à-jour-des-extensions" class="section level2 hasAnchor">
<h2 class="hasAnchor">Mise à jour des extensions<a href="#mise-à-jour-des-extensions" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>Il est facile de mettre à jour l’ensemble des extensions installées, soit avec la fonction, <code data-pkg="utils">update.packages</code> soit en cliquant sur <em>Update</em> dans l’onglet <em>Packages</em> du quadrant inférieur droit.</p>
</div>

</article>
</div>

<div class="col-sm-3" role="complementary">
<nav class="hidden-print hidden-xs" id="nav_sidebar">
</nav>
</div>

</div>

<script>
// manage active state of menu based on current page
$(document).ready(function () {

    // active menu
    href = window.location.pathname;
    href = href.substr(href.lastIndexOf('/') + 1);
    if (href=='') href = 'index.html';
    $('a[href="' + href + '"]').parent().addClass('active');
    $('a[href="' + href + '"]').parent().parents('li').addClass('active');

    // élargir la page d'accueil
    if (href=='index.html') $('.col-sm-9').attr('class','col-sm-12');

    // rechercher
    $("#rechercher").submit(function(event) {
      $('input[name="q"]').val($('input[name="q"]').val() + ' site:larmarange.github.io/analyse-R');
    });

    // sidebar
    $("#nav_sidebar").append($("#TOC").html());
    $("#nav_sidebar ul").addClass("nav nav-stacked");
    $("#TOC").addClass("visible-xs-block");
    $('body').scrollspy({
      target: '#nav_sidebar',
      offset: 40
    });

    // Identifier les <pre> fermant
    $('pre').next("*:not(pre)").prev().addClass('last'); // Dernier <pre> de chaque groupe contigu de <pre>
    $('pre').parent().each(function (){
      $(this).children('pre').last().addClass('last');
    }); // Si <pre> est le dernier enfant de son parent

    // Ajout liens rdocumentation et tooltip
    $("code[data-pkg]").each(function( index ) {
      pkg = $(this).attr('data-pkg');
      if ($(this).attr('data-rdoc') !== undefined) {
        rdocumentation = $(this).attr('data-rdoc');
      } else {
        rdocumentation = $(this).text();
      }
      fonction = $(this).text();
      //$(this).wrap('<a href="http://www.rdocumentation.org/packages/'+pkg+'/functions/'+rdocumentation+'">');
      $(this).wrap('<a href="http://rdrr.io/pkg/'+pkg+'/sym/'+rdocumentation+'">');
      $(this).attr('data-toggle','tooltip');
      $(this).attr('data-placement','top');
      $(this).attr('title','package : ' + pkg);
      $('[data-toggle="tooltip"]').tooltip();
    });

    $("code.pkg").each(function( index ) {
      //$(this).wrap('<a href="http://www.rdocumentation.org/packages/'+$(this).text()+'">');
      $(this).wrap('<a href="http://rdrr.io/pkg/'+$(this).text()+'">');
    });

    // Figures
    $("figure").each(function( index ) {
      if ($(this).children("figcaption").length > 0)
        $(this).children("figcaption:first").prepend('<span class="figure-number">Figure '+(index+1)+'.</span> ');
      else
        $(this).append($("<figcaption>").append('<span class="figure-number">Figure '+(index+1)+'</span>'));
    });

    // Colorbox

    /*----
    jQuery('article div img').colorbox({
      maxWidth: '90%',
      maxHeight: '90%',
      rel: 'figures',
      current: "",
      href: function(){
        return $(this).attr('src');
      },
      title: function(){
        return $(this).attr('alt');
      }
    });
    jQuery('article div img').css('cursor', 'pointer');
    jQuery('figure img').colorbox({
      maxWidth: '90%',
      maxHeight: '90%',
      rel: 'figures',
      current: "",
      href: function(){
        return $(this).attr('src');
      },
      title: function(){
        return $(this).parent().children("figcaption").text();
      }
    });
    jQuery('figure img').css('cursor', 'pointer');

    -----*/

    /* Clipboard --------------------------*/

  function changeTooltipMessage(element, msg) {
    var tooltipOriginalTitle=element.getAttribute('data-original-title');
    element.setAttribute('data-original-title', msg);
    $(element).tooltip('show');
    element.setAttribute('data-original-title', tooltipOriginalTitle);
  }

  if(ClipboardJS.isSupported()) {
    $(document).ready(function() {
      var copyButton = "<button type='button' class='btn btn-primary btn-copy-ex' type = 'submit' title='Copier dans le presse-papier' aria-label='Copier dans le presse-papier' data-toggle='tooltip' data-placement='left auto' data-trigger='hover' data-clipboard-copy><i class='fa fa-copy'></i></button>";

      $(".examples, div.sourceCode").addClass("hasCopyButton");

      // Insert copy buttons:
      $(copyButton).prependTo(".hasCopyButton");

      // Initialize tooltips:
      $('.btn-copy-ex').tooltip({container: 'body'});

      // Initialize clipboard:
      var clipboardBtnCopies = new ClipboardJS('[data-clipboard-copy]', {
        text: function(trigger) {
          return trigger.parentNode.textContent;
        }
      });

      clipboardBtnCopies.on('success', function(e) {
        changeTooltipMessage(e.trigger, 'Copié !');
        e.clearSelection();
      });

      clipboardBtnCopies.on('error', function() {
        changeTooltipMessage(e.trigger,'Appuyez sur Ctrl+C ou Command+C pour copier');
      });
    });
  }

  // Bigfoot
  $(".footnotes > li").addClass("footnote");
  $.bigfoot({
    activateOnHover: true,
    actionOriginalFN: "ignore"
});
});
</script>

<!-- Utterances comments
<script src="https://utteranc.es/client.js"
        repo="larmarange/analyse-R"
        issue-term="pathname"
        label="commentaires"
        theme="github-light"
        crossorigin="anonymous"
        async>
</script>
-->

<!-- Giscus comments -->
<script src="https://giscus.app/client.js"
        data-repo="larmarange/analyse-R"
        data-repo-id="MDEwOlJlcG9zaXRvcnkzNDk4NjY2Ng=="
        data-category-id="DIC_kwDOAhXaqs4B_iH_"
        data-mapping="pathname"
        data-reactions-enabled="1"
        data-emit-metadata="0"
        data-theme="light"
        data-lang="fr"
        crossorigin="anonymous"
        async>
</script>

<!-- disqus -->
<!---
<div class="row">
  <div id="disqus_thread" class="col-sm-9" role="complementary"></div>
</div>
    <script type="text/javascript">
        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
        var disqus_shortname = 'analyse-r'; // required: replace example with your forum shortname

        /* * * DON'T EDIT BELOW THIS LINE * * */
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
    </script>
    <noscript>Veuillez activer JavaScript pour voir les <a href="http://disqus.com/?ref_noscript">les commentaires gérés avec Disqus.</a></noscript>
    <!--<a href="http://disqus.com" class="dsq-brlink">Les commentaires sont hébergés par <span class="logo-disqus">Disqus</span>.</a>-->

<footer>
  <div class="row">
    <div class="col-lg-12">
      <p>Contenus sous licence <a href="https://creativecommons.org/licenses/by-nc-sa/3.0/fr/" rel="nofollow">Creative Commons Attribution - Pas d’utilisation commerciale - Partage dans les mêmes conditions</a>.<br />
      Propulsé par <a href="http://www.r-project.org/" rel="nofollow">R</a>, </a><a href="http://www.rstudio.com/" rel="nofollow">RStudio</a>, <a href="http://rmarkdown.rstudio.com/" rel="nofollow">R Markdown</a>, <a href="http://yihui.name/knitr/" rel="nofollow">knitr</a>, <a href="http://pandoc.org/" rel="nofollow">pandoc</a> et <a href="http://www.princexml.com/" rel="nofollow">Prince XML</a>. Hébergé par <a href="https://github.com/" rel="nofollow">GitHub</a>.<br />
      <a href="https://www.zenodo.org/badge/latestdoi/34986666"><img src="https://www.zenodo.org/badge/34986666.svg" alt="DOI"></a></p>
    </div>
  </div>
</footer>



</div>

<script>

// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
  $('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
}
$(document).ready(function () {
  bootstrapStylePandocTables();
});


</script>

<!-- tabsets -->

<script>
$(document).ready(function () {
  window.buildTabsets("TOC");
});

$(document).ready(function () {
  $('.tabset-dropdown > .nav-tabs > li').click(function () {
    $(this).parent().toggleClass('nav-tabs-open');
  });
});
</script>

<!-- code folding -->



</body>
</html>