README.md 8.78 KB
Newer Older
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
1 2
---
title: Prise en main de R à travers RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
3
author: Vincent Navratil (vincent.navratil@univ-lyon1.fr)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
4 5
---

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
6
[[_TOC_]]
7

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
8 9
<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
10
# Prérequis
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
11

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

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
16 17
## Suivre les software carpentry

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
18 19 20 21 22
https://software-carpentry.org/lessons/index.html

https://swcarpentry.github.io/r-novice-gapminder/
http://swcarpentry.github.io/r-novice-inflammation/

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
## Les sites indispensables

https://thinkr.fr/
https://www.r-bloggers.com/

pour les tweetos le hashtag #rstat

https://www.r-project.org/

Les conférence:
https://www.r-project.org/conferences/

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

## Suivre les RStudio webinars

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 42 43 44 45 46 47 48
## Apprendre R avec swirl

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
49 50

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
52
## Objectif de l'atelier
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
53

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

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

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
68
## Pourquoi utiliser l'IDE RStudio ?
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
69

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
70
- IDE (Integrated Development Environnment)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
71
- facilite l'écriture le développement de programme et de fonctions dans un environnement intégré
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
72
- projet open-source, multi-plateformes (Windows, Mac Os X, UNIX)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
73 74
- 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
75
- 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
76
- développement actif de la Rstudio team
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
77

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
78
## Installation de la version Desktop de RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
79

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
82 83 84 85 86 87 88 89 90 91 92 93 94 95
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
```

## Premiers pas avec RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
96

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
97 98
Une fois installée lancer RStudio.

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
102 103 104 105 106 107 108
>>>
- 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
109

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
110
### Création de Projets sous RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
111

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
112 113
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
114

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
118 119
### Préférences de RStudio

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
122
## RStudio cheatsheets
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
123

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
126
## Support de l'atelier
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
127

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

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

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

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
137
https://biostat2.uni.lu/lectures.html
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
138

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
139
http://perso.ens-lyon.fr/lise.vaudor/grimoire/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
140

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

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

# Prise en main de R sous RStudio
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
146 147 148

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
149 150 151
## R cheatsheets

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
152

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

## Les Iris de Fisher - https://fr.wikipedia.org/wiki/Iris_de_Fisher

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
158

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

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
207 208 209 210
# RStudio cheatsheets

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

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

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

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

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

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

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


NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
227 228 229 230 231 232 233 234
# Prochains ateliers

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