forked from larmarange/analyse-R
-
Notifications
You must be signed in to change notification settings - Fork 0
/
extensions.Rmd
129 lines (95 loc) · 6.49 KB
/
extensions.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
---
title: "Extensions (installation, mise à jour)"
---
```{r options_communes, include=FALSE}
source("options_communes.R")
```
## Présentation
L'installation par défaut du logiciel **R** 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.
**R** é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.
Il existe un très grand nombre d'extensions (plus de 6500 à ce jour), qui sont diffusées par un réseau
baptisé **CRAN**
(<dfn lang="en">Comprehensive R Archive Network</dfn><dfn data-index="CRAN"></dfn>).
La liste de toutes les extensions disponibles sur **CRAN** est disponible ici :
<http://cran.r-project.org/web/packages/>.
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> :
<http://cran.r-project.org/web/views/>.
On y trouve notamment une *Task view* dédiée aux sciences sociales, listant de nombreuses extensions
potentiellement utiles pour les analyses statistiques dans ce champ disciplinaire :
<http://cran.r-project.org/web/views/SocialSciences.html>.
On peut aussi citer le site *Awesome R* (<https://awesome-r.com/>) qui fournit une liste d'extensions choisies et triées par thématique.
## Le <q>tidyverse</q>
Hadley Wickham est professeur associé à l'université de Rice et scientifique en chef
à **Rstudio**. Il a développé de nombreux extensions pour **R** (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 **RStudio**. Cet ensemble d'extenions est appelé
<dfn>tidyverse</dfn> et est développé sur GitHub : <https://github.com/tidyverse/>. Une présentation
plus générale du <dfn>tidyverse</dfn> est disponible sur le site de RStudio (<https://www.rstudio.com/products/rpackages/>) et sur un sité dédié (<http://tidyverse.org/>).
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'**analyse-R** de choisir en priorité, lorsque cela est possible,
les extensions du <dfn>tidyverse</dfn>, en particulier `haven`{.pkg}, `readr`{.pkg} et
`readxl`{.pkg} pour l'import de données, `dplyr`{.pkg}, `tidyr`{.pkg} ou `reshape2`{.pkg}
pour la manipulation de données, `ggplot2`{.pkg} pour les graphiques, `lubridate`{.pkg}
pour la gestion des dates, `forcats`{.pkg} pour la manipulation des facteurs ou encore
`stringr`{.pkg} pour la manipulation de chaînes de caractères.
Il existe par ailleurs une extension homonyme `tidyverse`{.pkg}. 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 `library`{data-pkg="base"} (voir ci-après) permets de charger en mémoire en une seule opération les principales extensions du <dfn>tidyverse</dfn>, à savoir `ggplot2`{.pkg}, `tibble`{.pkg}, `tidyr`{.pkg}, `readr`{.pkg}, `purrr`{.pkg} et `dplyr`{.pkg}.
Pour une présentation plus poussée, voir le [chapitre consacré au tidyverse](introduction-au-tidyverse.html).
## Installation depuis CRAN
L'installation d'une extension se fait par la fonction `install.packages`{data-pkg="utils"},
à qui on fournit le nom de l'extension. Par exemple, si on souhaite installer l'extension **ade4** :
```{r, eval=FALSE}
install.packages("ade4", dep = TRUE)
```
L'option `dep=TRUE` indique à **R** de télécharger et d'installer également toutes les extensions dont
l'extension choisie dépend pour son fonctionnement.
Sous **RStudio**, on pourra également cliquer sur *Install* dans l'onglet *Packages* du quadrant
inférieur droit.
Une fois l'extension installée, elle peut être appelée depuis la console ou un fichier script
avec la fonction `library`{data-pkg="base"} ou la fonction
`require`{data-pkg="base" data-rdoc="library"} :
```{r, eval=FALSE}
library(ade4)
```
À 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.
Pour mettre à jour l'ensemble des extensions installées,
<dfndata-index="mise à jour, extensions"></dfn>
la fonction `update.packages`{data-pkg="utils"} suffit :
```{r, eval=FALSE}
update.packages()
```
Sous **RStudio**, on pourra alternativement cliquer sur *Update* dans l'onglet *Packages* du quadrant
inférieur droit.
Si on souhaite désinstaller une extension précédemment installée, on peut utiliser la fonction
`remove.packages`{data-pkg="utils"} :
```{r, eval=FALSE}
remove.packages("ade4")
```
<div class="important">
Il est important de bien comprendre la différence entre `install.packages`{data-pkg="utils"} et
`library`{data-pkg="base"}. 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 **R**. On a besoin de l'exécuter à chaque début de session ou de script.
</div>
## Installation depuis GitHub
Certains packages sont développés sur [**GitHub**](https://github.com/). Dès lors, la version de
développement sur **GitHub** peut contenir des fonctions qui ne sont pas encore disponibles dans
la version stable disponible sur **CRAN**. Ils arrivent aussi parfois que certains packages ne soient
disponibles que sur **GitHub**.
L'installation d'un package depuis **GitHub** est très facile grâce à la fonction
`install_github`{data-pkg="devtools"} de l'extension `devtools`{.pkg}
(que l'on aura préalablement installée depuis **CRAN** ;-) ).
## Mise à jour des extensions
Il est facile de mettre à jour l'ensemble des extensions installées,
soit avec la fonction, `update.packages`{data-pkg="utils"} soit en cliquant
sur *Update* dans l'onglet *Packages* du quadrant inférieur droit.