Haifa Ben Messaoud
11/25/2020
R est un langage orienté vers le traitement de données et l’analyse statistique dérivé du langage S. Il est développé depuis une vingtaine d’années par un groupe de volontaires de différents pays. C’est un logiciel libre, publié sous licence GNU GPL.
L’utilisation de R présente plusieurs avantages :
R est fourni avec un ensemble de fonctions de bases, principalement dédiées à l’étude statistiques et à la datascience. Cependant, au fur et à mesure de son développement, le langage s’est ouvert à une multitude de pratiques qui ont donné l’occasion à la communauté de créer leurs propres librairies.
Les librairies, que l’on appelle également package, sont un ensemble de fonctions regroupées pour un usage spécifique: traitement de tableaux de données, de chaînes de caractères
La fonction read_excel permet d’importer à la fois des fichiers .xls (Excel 2003 et précédents) et .xlsx (Excel 2007 et suivants).
library(readxl)
donnees <- read_excel(“data/fichier.xlsx”)
Une seule feuille de calculs peut être importée à la fois. On pourra préciser la feuille désirée avec sheet en indiquant soit le nom de la feuille, soit sa position (première, seconde, …).
donnees <- read_excel(“data/fichier.xlsx”, sheet = 3)
donnees <- read_excel(“data/fichier.xlsx”, sheet = “mes_donnees”)
Les fichiers générés par SPSS sont de deux types : les fichiers SPSS natifs natifs (extension .sav) et les fichiers au format SPSS export (extension .por).
Dans les deux cas, on aura recours à la fonction read_spss de la bibliothèque haven :
library(haven) donnees <- read_spss(“data/fichier.sav”, user_na = TRUE)
Nous allons charger les données iris en utilisants la bibliothèque datasets
#chargement du package
library(datasets)
#chargement des données
data("iris")
d <- iris
#les noms des variables
names(d)## [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
## [1] 5.843333
## [1] 0.8280661
## [1] 4.3
## [1] 7.9
## [1] 5.8
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.350 Median :1.300
## Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
## 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
## Species
## setosa :50
## versicolor:50
## virginica :50
##
##
##
hist(d$Sepal.Length, main = "longeur de la sépale de chaque espèce", xlab = "Espèce", ylab = "Effectif")Les boîtes à moustaches, ou boxplots en anglais, sont une autre représentation graphique de la répartition des valeurs d’une variable quantitative. Elles sont particulièrement utiles pour comparer les distributions de plusieurs variables ou d’une même variable entre différents groupes, mais peuvent aussi être utilisées pour représenter la dispersion d’une unique variable. La fonction qui produit ces graphiques est la fonction boxplot.
boxplot(d$Sepal.Length, main = "longeur de la sépale de chaque espèce", ylab = "Longeur de la sépale")Le carré au centre du graphique est délimité par les premiers et troisième quartiles, avec la médiane représentée par une ligne plus sombre au milieu. Les « fourchettes » s’étendant de part et d’autres vont soit jusqu’à la valeur minimale ou maximale, soit jusqu’à une valeur approximativement égale au quartile le plus proche plus 1,5 fois l’écart interquartile. Les points se situant en-dehors de cette fourchette sont représentés par des petits ronds et sont généralement considérés comme des valeurs extrêmes, potentiellement aberrantes.
La fonction la plus utilisée pour le traitement et l’analyse des variables qualitatives (variable prenant ses valeurs dans un ensemble de modalités) est sans aucun doute la fonction table, qui donne les effectifs de chaque modalité de la variable, ce qu’on appelle un tri à plat ou tableau de fréquences.
##
## setosa versicolor virginica
## 50 50 50
Quand le nombre de modalités est élevé, on peut ordonner le tri à plat selon les effectifs à l’aide de la fonction sort.
##
## setosa versicolor virginica
## 50 50 50
##
## setosa versicolor virginica
## 50 50 50
Quand le nombre de modalités est élevé, on peut ordonner le tri à plat selon les effectifs à l’aide de la fonction sort.
##
## setosa versicolor virginica
## 50 50 50
##
## setosa versicolor virginica
## 50 50 50
##
## setosa versicolor virginica
## 50 50 50
## setosa versicolor virginica
## 50 100 150
## setosa versicolor virginica
## 150 100 50
##
## setosa versicolor virginica
## 0.3333333 0.3333333 0.3333333
## setosa versicolor virginica
## 0.3333333 0.6666667 1.0000000
## setosa versicolor virginica
## 1.0000000 0.6666667 0.3333333
Les diagrammes en bâtons sont utilisés automatiquement par R lorsqu’on applique la fonction générique plot à un tri à plat obtenu avec table. On privilégiera cependant ce type de représentations pour les variables de type numérique comportant un nombre fini de valeurs.
filter sélectionne des lignes d’une table selon une condition. On lui passe en paramètre un test, et seules les lignes pour lesquelles ce test renvoie TRUE (vrai) sont conservées. Pour plus d’informations sur les tests et leur syntaxe, voir la section 9.2.
Par exemple, si on veut sélectionner les vols du mois de janvier, on peut filtrer sur la variable month de la manière suivante :
library(dplyr)
# filter() les données de l'espèce virginica
virginica <- filter(d, Species == "virginica")
head(virginica) # afficher les 6 premières lignes## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 6.3 3.3 6.0 2.5 virginica
## 2 5.8 2.7 5.1 1.9 virginica
## 3 7.1 3.0 5.9 2.1 virginica
## 4 6.3 2.9 5.6 1.8 virginica
## 5 6.5 3.0 5.8 2.2 virginica
## 6 7.6 3.0 6.6 2.1 virginica
On peut également placer des fonctions dans les tests, qui nous permettent par exemple de sélectionner les fleurs avec le max de sepal.length :
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 7.9 3.8 6.4 2 virginica
select permet de sélectionner des colonnes d’un tableau de données.
# select() des colonnes spécifiques
selected <- select(d, Sepal.Length, Sepal.Width, Petal.Length)
# selectionner toutes les colonnes de sepal.length à petal.length
selected2 <- select(d, Sepal.Length:Petal.Length)
head(selected, 3)## Sepal.Length Sepal.Width Petal.Length
## 1 5.1 3.5 1.4
## 2 4.9 3.0 1.4
## 3 4.7 3.2 1.3
## Sepal.Length Sepal.Width Petal.Length
## 1 5.1 3.5 1.4
## 2 4.9 3.0 1.4
## 3 4.7 3.2 1.3
arrange réordonne les lignes d’un tableau selon une ou plusieurs colonnes.
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 4.3 3.0 1.1 0.1 setosa
## 2 4.4 2.9 1.4 0.2 setosa
## 3 4.4 3.0 1.3 0.2 setosa
## 4 4.4 3.2 1.3 0.2 setosa
## 5 4.5 2.3 1.3 0.3 setosa
## 6 4.6 3.1 1.5 0.2 setosa
mutate permet de créer de nouvelles colonnes dans le tableau de données, en général à partir de variables existantes.
# Créer une nouvelle colonne qui donne Vrai si sepal.width > 0.5 * sepal.length
newCol <- mutate(d, greater.half = Sepal.Width > 0.5 * Sepal.Length)
tail(newCol)## Sepal.Length Sepal.Width Petal.Length Petal.Width Species greater.half
## 145 6.7 3.3 5.7 2.5 virginica FALSE
## 146 6.7 3.0 5.2 2.3 virginica FALSE
## 147 6.3 2.5 5.0 1.9 virginica FALSE
## 148 6.5 3.0 5.2 2.0 virginica FALSE
## 149 6.2 3.4 5.4 2.3 virginica TRUE
## 150 5.9 3.0 5.1 1.8 virginica TRUE
Un élément très important de dplyr est la fonction group_by. Elle permet de définir des groupes de lignes à partir des valeurs d’une ou plusieurs colonnes.
# Créer une nouvelle colonne qui donne Vrai si sepal.width > 0.5 * sepal.length
groupped.species = d %>% group_by(Species)
tail(groupped.species)## # A tibble: 6 x 5
## # Groups: Species [1]
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 6.7 3.3 5.7 2.5 virginica
## 2 6.7 3 5.2 2.3 virginica
## 3 6.3 2.5 5 1.9 virginica
## 4 6.5 3 5.2 2 virginica
## 5 6.2 3.4 5.4 2.3 virginica
## 6 5.9 3 5.1 1.8 virginica
Comment installer un package dans R
Pour installer notre package dans R, nous utilisons la fonction install.packages()
Par exemple, si vous cherchez à installer la librairie DPLYR :
install.packages(“dplyr”)