README.md 9.88 KB
Newer Older
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
1
# Prise en main de R à l'aide de RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
2

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
3 4 5 6 7 8 9 10 11
contact@prabi.fr

## Remerciements

```
If you use the computing resources of LBBE / PRABI, thank you to make it
appear in your scientific publications by including the following sentence:
"This work was performed using the computing facilities of the CC LBBE/PRABI."
```
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
12

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
13 14
<a href="https://rstudio.com"><img src="https://d33wubrfki0l68.cloudfront.net/62bcc8535a06077094ca3c29c383e37ad7334311/a263f/assets/img/logo.svg" width=200px></a>

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
15
## Prérequis
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
16

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
17
- pas de connaissance de base sur les lignes de commandes et R
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
18

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
19
- suivre la vidéo d'introduction ci-dessous:
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
20 21
<p><a href="https://www.rstudio.com/products/rstudio/?wvideo=520zbd3tij"><img src="https://embed-fastly.wistia.com/deliveries/260e6e980f526abaedf8ef3378270c899da74f08.jpg?image_play_button_size=2x&amp;image_crop_resized=960x540&amp;image_play_button=1&amp;image_play_button_color=71a5d4e0" width="400" height="225" style="width: 400px; height: 225px;"></a></p><p><a href="https://www.rstudio.com/products/rstudio/?wvideo=520zbd3tij">RStudio IDE Overview</a></p>

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
22
## Pour les fayots qui veulent prendre de l'avance en R en totale autonomie !
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
23

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
### Apprendre R avec R

- à l'aide du package `swirl` :

```R
install.packages("swirl")
library(swirl)
swirl()
```
Une liste plus importante de tutoriels swirl est disponible à l'adresse suivante : http://swirlstats.com/scn/title.html

- à l'aide du package `learnr` :

```R
install.packages("learnr")
learnr::run_tutorial("ex-setup-r","learnr")
````

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
42
### Selection de sites webs, blog
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
43

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
44
- https://www.r-project.org/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
45

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
46
- https://thinkr.fr/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
47
- https://www.r-bloggers.com/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
48

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
49
> pour les tweetos le hashtag **#rstat**
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
50

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
51 52
- https://swcarpentry.github.io/r-novice-gapminder/
- https://swcarpentry.github.io/r-novice-inflammation/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
53 54 55
- https://swcarpentry.github.io/r-novice-gapminder/01-rstudio-intro/index.html

- https://r.developpez.com/tutoriels/introduction-r-et-rstudio/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
56

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
57
- https://larmarange.github.io/analyse-R/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
58

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
59
### webinars RStudio 
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
60

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
61
https://www.rstudio.com/resources/webinars/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
62

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
63
## Objectif de l'atelier
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
64

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
65
- installer R et la version desktop de RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
66
- utiliser les principales fonctionnalités des panneaux de RStudio (édition, console, navigateurs)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
67
- créer un projet RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
68
- savoir où et comment sauveguarder les historiques, les objets R
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
69
- lire et utiliser un R Notebook
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
70
- installer / mettre à jour un package
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
71

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
72
## Installation de R et prise en main de l'IDE RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
73 74

### Qu'est ce que R ?
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
75

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
76
- https://www.r-project.org/
77 78
- un environnement logiciel open-source pour les calculs scientifiques et les graphiques.
- disponibles pour Windows, Mac OS X et plusieurs plateformes UNIX (incluant Linux) sous forme de binaires (compilés)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
79
- développé par Robert Gentleman and Ross Ihaka et la R’s core development team
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
80
- un langage de programmation (de script) interprété + add-on packages (13000)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
81
- the Comprehensive R Archive Network (CRAN)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
82
- un souffle nouveau avec l'univers tidyverse de la team RStudio et la pédagogie tidyverse first
83

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
84
### Pourquoi utiliser l'IDE RStudio ?
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
85

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
86
- https://www.rstudio.com/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
87
- IDE (Integrated Development Environnment)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
88
- facilite l'écriture le développement de programme et de fonctions dans un environnement intégré
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
89
- projet open-source, multi-plateformes (Windows, Mac Os X, UNIX)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
90
- mode standalone (Desktop Rstudio), cloud (RStudio Cloud) ou serveur (à travers un naviguateur web, RStudio server)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
91
- organisé sous forme de 4 panneaux (éditeur de code source, console+terminal, navigateur d'objets/historiques, navigateurs de fichiers/graphiques/packages/aide)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
92
- plus convivial que la console R pour débuter, plus facile à apprendre que Emacs, plus facile à installer que Eclipse ...
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
93
- développement actif de la Rstudio team
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
94

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
95
### Installation de R et de la version Desktop de RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
96 97

Laissez vous guider par l'application shiny du package `learnr` :
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
98 99

- https://learnr-examples.shinyapps.io/ex-setup-r/#section-welcome
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
100

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
101
RStudio nécessite l'installation d'une version récente de R (http://cran.r-project.org).
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
102

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
103
Vérifier si une version n'est pas déjà installée sur votre OS.
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
104

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
105 106 107 108 109 110
```bash
R
```

Puis installer RStudio depuis rstudio.com (https://rstudio.com/products/rstudio/download/#download).

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
111
> **Astuce**
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
112
> Utiliser la variable d'environnement `RSTUDIO_WHICH_R` afin de  pointer sur une version de R donnée.
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
113

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
114 115 116 117
```bash
export RSTUDIO_WHICH_R=/usr/local/bin/R
```

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
118
### Premiers pas avec RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
119

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
120 121
Une fois installée lancer RStudio.

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
122
#### Notion d'Espace de travail (Workspace)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
123

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
124
Au lancement de RStudio, R est lancé: 
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
125

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
126 127 128 129 130 131 132
>>>
- Le programme R est lancé dans le répertoire courant (**working directory** - wd)
- Si présentes, les commandes dans le fichier **.Rprofile** sont executées
- Si présentes les données dans le fichier **.Rdata** sont chargées
- En quitant (à l'aide de la commande `quit()`), l'utilisateur peut sauvegarder son espace de travail en répondant "yes" à la question "Save workspace image ?" (les données stockées dans les **objets R** seront écrites dans le **.RData**, les commandes dans le fichier **.Rhistory**)
- Il y a la possibilité d'utiliser la commande `save.image()` ou `save()` en cours de session pour sauveguarder respectivement tout ou une partie des objets de la session dans un fichier au foramt **.RData**. Il y a la possibilité de recharger ce fichier à l'aide de la fonction `load()`
>>>
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
133

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
134
#### Création de Projets sous RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
135

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
136 137
RStudio peut créer un nouveau projet (**"New  Directory"**) ou importer un projet existant depuis un répertoire/dossier (**"Existing Directory"**) ou depuis un gestionnaire de version (**"Version Control"**) (git, svn).
Les nouveaux projets sont de plusieurs types (Analyse : **"New Project"**, Développement de packages: **"R Package"** ou d'application Shiny **"Shiny Web Application"**)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
138

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
139
- Possibilité de créer un dépôt **git** associé ("Create a git repository")
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
140

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
141
- Possibilité d'utiliser un gestionnaire de package **Packrat** ("Use packrat with this project") http://rstudio.github.io/packrat/rstudio.html
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
142

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
143
#### Préférences de RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
144

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
145
En cliquant sur l'onglet RStudio>preferences nous avons accès aux options paramétrables de RStudio.
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
146

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
147
## RStudio cheatsheets
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
148

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
149
https://raw.githubusercontent.com/rstudio/cheatsheets/master/rstudio-ide.pdf
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
150

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
151
## Références
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
152

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
153 154 155
### Livres
![Getting started with RStudio](https://learning.oreilly.com/library/cover/9781449314798/250w/)

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
156
## Prise en main de RStudio sur le cloud
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
157

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
158
## Deuxième partie: prise en main de R sous RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
159 160 161

Le **package base** de R est constitué d'un ensemble de fonctions et de données installés par défaut.

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
162
### R cheatsheets
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
163 164

Apprendre le langage R c'est connaitre un certain nombre de fonctions, opérateurs, objets et les faires intéragire.
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
165

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
166 167
https://raw.githubusercontent.com/rstudio/cheatsheets/master/base-r.pdf

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
168
### Les Iris de Fisher - https://fr.wikipedia.org/wiki/Iris_de_Fisher
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
169 170

Nous allons utiliser le jeux de données `iris` pour illustrer les différentes fonctionalités de base de R.
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
171

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
172 173 174 175 176 177 178
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/56/Kosaciec_szczecinkowaty_Iris_setosa.jpg/440px-Kosaciec_szczecinkowaty_Iris_setosa.jpg" width="100px"> <i>Iris setosa</i><br>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Iris_versicolor_3.jpg/440px-Iris_versicolor_3.jpg" width="100px"> <i>Iris versicolor</i><br>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Iris_virginica.jpg/440px-Iris_virginica.jpg" width="100px"> <i>Iris virginica</i><br>

Nous allons pour se faire utiliser la fonction `data()`. 
> les fonctions en R sont toujours écrites de la manière suivante: nom_de_ma_fonction(liste de paramètres).

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
179 180 181 182 183 184 185 186
Pour avoir plus d'information faire précéder le nom de la fonction à l'aide de la commande `?`

```R
?data
#liste tous le datasets présents dans le package de base
data()
#charge le dataset "iris"
data(iris)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
187 188 189 190 191 192 193 194
ls()
```

La fonction `ls()` permet de lister le contenu de l'espace de travail en terme d'objets R disponibles.
La fonction `class()` détermine la classe de l'objet passé en paramètre.
La fonction `names()` retourne dans un objet de classe vecteur le nom des différentes colonnes du dataframe passé en paramètre.

```R
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
195
class(iris)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
196
dim(class)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
197 198
names(iris)
class(iris$Sepal.Length)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
199
```
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
200
### Premières statistiques et graphiques descriptifs
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219

La fonction générique `summary()` donne un résumé de l'objet passé en paramètre. En ce qui concerne l'objet celà donne les valeures Min/Max,la médianne, la moyenne ainsi que les valeurs des premiers et troisième quartile

```R
summary(iris)
```

La fonction graphique `boxplot()` représente ces valeures graphiquement sous forme d'une boite à moustaches. Les **paramètre** `varwidth` donne une largeure variable en fonction dun ombre d'observation, `notch` (entaille) donne un intervalle de confiance à 95% autoir de la mediane, `outline` donne les valeures extrème en dehors des limites fiwée par la boite à moustache.

```R
boxplot(iris[1:4],varwidth = TRUE, notch = TRUE, outline = TRUE)
```

La fonction graphique `pairs()` donne un représentation sous forme d'une matrice de graphique de type scatterplot (plot de deux variables).

```R
pairs(iris[1:4],col=c("red","blue","green")[iris$Species])
```

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
220
## RStudio cheatsheets
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
221 222 223

https://rstudio.com/resources/cheatsheets/

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
224
## Références de la formation
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
225

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
226 227
https://pbil.univ-lyon1.fr/R/pdf/bs01.pdf
https://rpubs.com/moeransm/intro-iris
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
228 229
https://github.com/hbctraining/Intro-to-R/blob/master/schedules/1.5-day.md
http://adv-r.had.co.nz/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
230

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
231
## Pour aller plus loin 
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
232

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
233
R For Data Science: https://r4ds.had.co.nz/index.html
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
234

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
235 236
https://melbournebioinformatics.github.io/r-intro-biologists/intro_r_biologists.html

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
237 238
https://swcarpentry.github.io/r-novice-gapminder/

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
239 240 241 242 243
https://biostat2.uni.lu/lectures.html

http://perso.ens-lyon.fr/lise.vaudor/grimoire/

https://openclassrooms.com/fr/courses/4525256-initiez-vous-au-langage-r-pour-analyser-vos-donnees/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
244

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
245
## Prochains ateliers
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
246 247 248 249 250 251 252

- Initiation à R à l'aide de tidyverse
- Initiation à Bioconductor
- Initiation à RPostgreSQL
- Initiation à Rmarkdown (https://rmarkdown.rstudio.com/)
- Initiation à R shiny
- ...