README.md 8.59 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
<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
5
## Prérequis
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
6

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

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
11
### Selection de sites webs, blog
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
12

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
13
https://www.r-project.org/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
14 15 16 17 18
https://thinkr.fr/
https://www.r-bloggers.com/

pour les tweetos le hashtag #rstat

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
19 20
https://swcarpentry.github.io/r-novice-gapminder/
https://swcarpentry.github.io/r-novice-inflammation/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
21 22 23

https://larmarange.github.io/analyse-R/

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
24
### webinars RStudio 
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
25

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
26
https://www.rstudio.com/resources/webinars/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
27

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
28
### Apprendre R avec swirl
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
29 30 31 32 33 34 35

```R
> install.packages("swirl")
> library(swirl)
> swirl()
```

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
36
## Objectif de l'atelier
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
37

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
38
- installer la version desktop de RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
39
- utiliser les principales fonctionnalités des panneaux de RStudio (édition, console, navigateurs)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
40
- créer un projet RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
41
- savoir où et comment sauveguarder les historiques, les objets R
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
42

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
43 44 45
## Installation et prise en main de l'IDE RStudio

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

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
55
### Pourquoi utiliser l'IDE RStudio ?
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
56

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
57
- https://www.rstudio.com/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
58
- IDE (Integrated Development Environnment)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
59
- facilite l'écriture le développement de programme et de fonctions dans un environnement intégré
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
60
- projet open-source, multi-plateformes (Windows, Mac Os X, UNIX)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
61 62
- 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
63
- 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
64
- développement actif de la Rstudio team
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
65

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
66
### Installation de la version Desktop de RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
67

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
70 71 72 73 74 75 76 77 78 79 80 81 82
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
83
### Premiers pas avec RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
84

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
85 86
Une fois installée lancer RStudio.

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
87
#### Notion d'Espace de travail (Workspace)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
88
Au lancement de RStudio, R est lancé: 
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
89

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
90 91 92 93 94 95 96
>>>
- 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
97

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
98
#### Création de Projets sous RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
99

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
100 101
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
102

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
106
#### Préférences de RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
107

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
110
## RStudio cheatsheets
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
111

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
114
## Références
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
115

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

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
121 122
http://swcarpentry.github.io/r-novice-gapminder/01-rstudio-intro/index.html

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
125
## Prise en main de RStudio sur le cloud
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
126

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
127
## Prise en main de R sous RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
128 129 130

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
131
### R cheatsheets
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
132 133

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
134

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
137
### Les Iris de Fisher - https://fr.wikipedia.org/wiki/Iris_de_Fisher
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
138 139

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
140

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
141 142 143 144 145 146 147
<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
148 149 150 151 152 153 154 155
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
156 157 158 159 160 161 162 163
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
164
class(iris)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
165
dim(class)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
166 167
names(iris)
class(iris$Sepal.Length)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
168
```
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
169
### Premières statistiques et graphiques descriptifs
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188

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
189
## RStudio cheatsheets
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
190 191 192

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
193
## Références de la formation
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
194

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
195 196
https://pbil.univ-lyon1.fr/R/pdf/bs01.pdf
https://rpubs.com/moeransm/intro-iris
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
197 198
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
199

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
200
## Pour aller plus loin 
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
201

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

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

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
208 209 210 211 212
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
213

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
214
## Prochains ateliers
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
215 216 217 218 219 220 221

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