README.md 9.51 KB
Newer Older
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
1 2
# Initiation à R à l'aide de Rstudio

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 13
<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
14
## Prérequis
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
15

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
18 19
<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
20 21
- https://learnr-examples.shinyapps.io/ex-setup-r/#section-welcome

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
### Selection de sites webs, blog
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
25

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
26 27
- https://www.r-project.org/
- https://thinkr.fr/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
28 29
https://www.r-bloggers.com/

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
30
pour les tweetos le hashtag **#rstat**
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
31

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
32 33
- https://swcarpentry.github.io/r-novice-gapminder/
- https://swcarpentry.github.io/r-novice-inflammation/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
34

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
37
### webinars RStudio 
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
38

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
39
https://www.rstudio.com/resources/webinars/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
40

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
41
### Apprendre R avec R
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
42 43

```R
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
44 45 46
install.packages("swirl")
library(swirl)
swirl()
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
47
```
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
48 49 50 51 52
```R
install.packages("learnr")
learnr::run_tutorial("ex-setup-r","learnr")
````

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
53

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
54
## Objectif de l'atelier
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
55

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
56
- installer la version desktop de RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
57
- utiliser les principales fonctionnalités des panneaux de RStudio (édition, console, navigateurs)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
58
- créer un projet RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
59
- savoir où et comment sauveguarder les historiques, les objets R
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
60
- lire et utiliser un R Notebook
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
61

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
62 63 64
## Installation et prise en main de l'IDE RStudio

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
66
- https://www.r-project.org/
67 68
- 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
69
- développé par Robert Gentleman and Ross Ihaka et la R’s core development team
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
70
- un langage de programmation (de script) interprété + add-on package (13000)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
71
- the Comprehensive R Archive Network (CRAN)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
72
- un souffle nouveau avec l'univers tidyverse de la team RStudio et la pédagogie tidyverse first
73

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
74
### Pourquoi utiliser l'IDE RStudio ?
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
75

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
76
- https://www.rstudio.com/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
77
- IDE (Integrated Development Environnment)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
78
- facilite l'écriture le développement de programme et de fonctions dans un environnement intégré
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
79
- projet open-source, multi-plateformes (Windows, Mac Os X, UNIX)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
80 81
- mode standalone (Desktop Rstudio) ou serveur (à travers un naviguateur web, RStudio server)
- 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
82
- 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
83
- développement actif de la Rstudio team
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
84

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
85
### Installation de la version Desktop de RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
86

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
89 90 91 92 93 94 95 96 97 98 99 100 101
Vérifier si une version n'est pas déjà installée sur votre OS.
```bash
R
```

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

> ### Astuce
> Utiliser la variable d'environnement `RSTUDIO_WHICH_R` afin de  pointer sur une version de R donnée.
```bash
export RSTUDIO_WHICH_R=/usr/local/bin/R
```

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
102
### Premiers pas avec RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
103

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
104 105
Une fois installée lancer RStudio.

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
106
#### Notion d'Espace de travail (Workspace)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
107

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
110 111 112 113 114 115 116
>>>
- 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
117

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
118
#### Création de Projets sous RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
119

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
120 121
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
122

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
123
- Possibilité de créer un dépôt **git** associé ("Create a git repository")
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
124
- 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
125

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
126
#### Préférences de RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
127

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
130
## RStudio cheatsheets
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
131

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
134
## Références
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
135

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

### Quelques cours en ligne
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
140

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
141
https://swcarpentry.github.io/r-novice-gapminder/01-rstudio-intro/index.html
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
142 143
https://r.developpez.com/tutoriels/introduction-r-et-rstudio/

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
144
## Prise en main de RStudio sur le cloud
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
145

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
146
## Deuxième partie: prise en main de R sous RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
147 148 149

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
150
### R cheatsheets
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
151 152

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
153

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
156
### Les Iris de Fisher - https://fr.wikipedia.org/wiki/Iris_de_Fisher
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
157 158

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
159

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
160 161 162 163 164 165 166
<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
167 168 169 170 171 172 173 174
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
175 176 177 178 179 180 181 182
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
183
class(iris)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
184
dim(class)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
185 186
names(iris)
class(iris$Sepal.Length)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
187
```
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
188
### Premières statistiques et graphiques descriptifs
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207

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
208
## RStudio cheatsheets
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
209 210 211

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
212
## Références de la formation
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
213

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
214 215
https://pbil.univ-lyon1.fr/R/pdf/bs01.pdf
https://rpubs.com/moeransm/intro-iris
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
216 217
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
218

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
219
## Pour aller plus loin 
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
220

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

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

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
227 228 229 230 231
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
232

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
233
## Prochains ateliers
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
234 235 236 237 238 239 240

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