1. R: qu’est-ce que c’est?

R est un logiciel de statistiques interactif et interprété. Il est dédié à l’analyse statistique et à la visualisation de données, permettant entre autres:

R est distribué librement sous les termes de la GNU General Public Licence; son développement et sa distribution sont assurés par plusieurs statisticiens rassemblés dans le R Development Core Team.

Le but de ce cours et de vous familiariser à cet outil très apprécié des statisticiens. Les fonctionalités de R seront présentées le long du semestre en parallèle aux méthodes abordées en cours, afin de vous permettre de les appliquer directement sur des jeux de données.

Tout d’abord, pour télécharger le logiciel R, allez sur le site: https://cran.rstudio.com. Il est aussi conseillé d’installer RStudio, un environnement de dévelopement intégré (IDE) pour R, comprenant une console, un éditeur de texte et beaucoup d’outils facilitant la programmation.

2. Commandes de base:

Voici quelques commandes de base en R:

x <- 1 
x
## [1] 1
y <- 2
#additionner x et y
x+y
## [1] 3
# créer une variable booléenne qui compare x et y
x>y
## [1] FALSE
# calcul:
sqrt(y*40+x)
## [1] 9
z <- c(43,71,25)
z
## [1] 43 71 25
# Pour afficher le premier élément du vecteur
z[1] 
## [1] 43
# Pour afficher la taille du vecteur
length(z)
## [1] 3
# pour sommer tous les éléments du vecteur
sum(z)
## [1] 139
#pour ordonner les éléments du vecteur dans l'order croissant 
#(taper ?sort pour voir comment obtenir l'order décroissant!)
sort(z)
## [1] 25 43 71
a <- c(" probabilités","statistiques")
a
## [1] " probabilités" "statistiques"
# on peut concatener le vecteur en une seule chaine en reliant les éléments avec un ' et '
paste(a,collapse = ' et ')
## [1] " probabilités et statistiques"
data=cars
data
##    speed dist
## 1      4    2
## 2      4   10
## 3      7    4
## 4      7   22
## 5      8   16
## 6      9   10
## 7     10   18
## 8     10   26
## 9     10   34
## 10    11   17
## 11    11   28
## 12    12   14
## 13    12   20
## 14    12   24
## 15    12   28
## 16    13   26
## 17    13   34
## 18    13   34
## 19    13   46
## 20    14   26
## 21    14   36
## 22    14   60
## 23    14   80
## 24    15   20
## 25    15   26
## 26    15   54
## 27    16   32
## 28    16   40
## 29    17   32
## 30    17   40
## 31    17   50
## 32    18   42
## 33    18   56
## 34    18   76
## 35    18   84
## 36    19   36
## 37    19   46
## 38    19   68
## 39    20   32
## 40    20   48
## 41    20   52
## 42    20   56
## 43    20   64
## 44    22   66
## 45    23   54
## 46    24   70
## 47    24   92
## 48    24   93
## 49    24  120
## 50    25   85
# pour accéder à la première ligne 
data[1,]
##   speed dist
## 1     4    2
#pour accéder à la première colonne
data[,1]
##  [1]  4  4  7  7  8  9 10 10 10 11 11 12 12 12 12 13 13 13 13 14 14 14 14 15 15
## [26] 15 16 16 17 17 17 18 18 18 18 19 19 19 20 20 20 20 20 22 23 24 24 24 24 25
#pour accéder à la distance de freinage de la 13ème voiture
data[13,2]
## [1] 20
plot(data[,1],data[,2],pch=20,type='p',main='Distance de freinage versus vitesse de la voiture*',
     xlab='vitesse (mph)',ylab='distance (ft)',sub='(*données récoltées en 1920)')

LM=lm(dist~speed,data=data)
summary(LM)
## 
## Call:
## lm(formula = dist ~ speed, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -29.069  -9.525  -2.272   9.215  43.201 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -17.5791     6.7584  -2.601   0.0123 *  
## speed         3.9324     0.4155   9.464 1.49e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 15.38 on 48 degrees of freedom
## Multiple R-squared:  0.6511, Adjusted R-squared:  0.6438 
## F-statistic: 89.57 on 1 and 48 DF,  p-value: 1.49e-12
plot(data[,1],data[,2],pch=20,type='p',main='Distance de freinage versus vitesse de la voiture*',
     xlab='vitesse (mph)',ylab='distance (ft)',sub='(*données récoltées en 1920)')
# Afficher la droite de régression linéaire de la distance du freinage sur la vitesse (à voir plus tard dans le cours)
abline(LM,col=4,lwd=2)

3. Quelques liens pour aller plus loin

Pour en savoir plus sur R, il y a beaucoup de tutoriels disponibles sur internet. Par exemple,