Base R Course PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

Course R Basics

Dr. Asri

02/03/2022

Contents
2. Les principes de base du logiciel R 2
2.1 : L’opération d’affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 : Manipulation des objets dans l’environement . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 : Les objets dans R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 : Les vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5 : Les opérations de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.6 ; Les séquences et les répétitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7 : Les matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.8 : Les listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.9 : Les facteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.10 : Les data frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.11 : l’indexation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3. Importation et Exportation des données 22


3.1 : Le répertoire de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 : Importer les données d’un CSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 : Importer les données d’un fichier texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 : Importer les données d’un fichier Excel !! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6 : Importer les données d’un package : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5 : Exporter des données : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4. Les fonctions 26

5. Introduction à l’analyse statistique sur R 27


5.1 : Analayse générale d’une data Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2 : La mesures statistiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1
2. Les principes de base du logiciel R

2.1 : L’opération d’affectation

Sous R on utilise l’opérateur <- pour affecter des valeurs à un objet.

x <- 1
x

## [1] 1

1 -> y

On peut remarquer que la valeur de l’objet (ou les objets) défini(s) sera toujours apparente dans
l’environement.

message <- "Bienvenue"


#Message

message

## [1] "Bienvenue"

#Message

L’objet doit être écris de la même manière en respectant les majuscules, miniscules et les autres caractères.

2.2 : Manipulation des objets dans l’environement

Pour connaitre tous les élements dans l’environement, on peut utiliser la fonction ls()

ls()

## [1] "message" "x" "y"

Quand on veut supprimer un objet de l’environement, on utilise la fonction rm()

rm("message")

rm(list=c("x","y"))
ls()

## character(0)

Pour supprimer tous les objets dans l’environement, on utilise rm(list=ls())

rm(list=ls())

2
2.3 : Les objets dans R
Dans R on peut avoir 5 classes “atomiques” d’objets, qui sont :

• caractère (character)
• numérique : valeurs réelles (numeric)
• entiers (integer)
• complèxes (complex)
• logical : vrai ou faux (logical)

a <- 5
class(a)

## [1] "numeric"

Pour spécificer explicitement un entier, il faut ajouter L à la fin.

a <- 5L
class(a)

## [1] "integer"

b <- 5.5
class(b)

## [1] "numeric"

c <- "Hello"
class(c)

## [1] "character"

d <- 3+2i
class(d)

## [1] "complex"

e <- TRUE
class(e)

## [1] "logical"

z <- T
class(z)

## [1] "logical"

Dans R on peut définir 3 objets très utiles dans l’analyse :

NA (Not Available)

pour les valeurs manquantes.

3
a <- NA
class(a)

## [1] "logical"

Les NA sont considérées comme des valeurs logiques.

Inf

pour définir une valeur infinie.

a <- Inf
class(a)

## [1] "numeric"

Les valeurs infinies sont considérées comme des valeurs numériques. On peut obtenir Inf par des opérations
arithmitiques.

-5/0

## [1] -Inf

NaN (Not a Number)

On utilise NaN pour représenter des valeurs non définies.

0/0

## [1] NaN

Inf-Inf

## [1] NaN

Inf/Inf

## [1] NaN

a <- NaN
class(a)

## [1] "numeric"

Les valeurs non définies sont considérées comme des valeurs numériques.

2.4 : Les vecteurs


L’objet le plus basique dans R est le vecteur. Le vecteur est créé par la fonction vector() ou c(). Le vecteur
doit contenir des valeurs de la même class.

4
a <- vector("character", length = 20)
a

## [1] "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

b <- c(5L, 7L, 11L)


b

## [1] 5 7 11

class(b)

## [1] "integer"

c <- c(25.1, 30.6)


c

## [1] 25.1 30.6

class(c)

## [1] "numeric"

d <- c("a", "b")


d

## [1] "a" "b"

class(d)

## [1] "character"

coercion

Puisque les vecteurs doivent contenir des objets d’une seule class alors, si on définit un vecteur avec des
classes différentes, une coercion sera applquée.

e <- c("a", "b", 1)


e

## [1] "a" "b" "1"

class(e)

## [1] "character"

5
f <- c(1.5, 3, NA)
f

## [1] 1.5 3.0 NA

class(f)

## [1] "numeric"

g <- c(TRUE, 5)

## [1] 1 5

vérifier la class d’un objet ou un vecteur

On peut utiliser les fonctions is.* pour vérifier si un vecteur est d’une certaine classe.

is.logical(g)

## [1] FALSE

is.numeric(g)

## [1] TRUE

is.character(e)

## [1] TRUE

la coercion explicite

On peut forcer la coercition d’un objet ou d’un vecteur en utilisant as.* .

x <- c(0L,1L,2L,3L,4L,5L,6L)
x

## [1] 0 1 2 3 4 5 6

class(x)

## [1] "integer"

as.numeric(x)

## [1] 0 1 2 3 4 5 6

6
as.logical(x)

## [1] FALSE TRUE TRUE TRUE TRUE TRUE TRUE

as.character(x)

## [1] "0" "1" "2" "3" "4" "5" "6"

Cette opération n’est pas toujours possible quand R ne peut pas coercer vers le type exigé. Dans ce cas R
va afficher des NAs.

y <- c("a", "b", "c")


y

## [1] "a" "b" "c"

class(y)

## [1] "character"

as.numeric(y)

## Warning: NAs introduits lors de la conversion automatique

## [1] NA NA NA

as.logical(y)

## [1] NA NA NA

as.complex(y)

## Warning: NAs introduits lors de la conversion automatique

## [1] NA NA NA

2.5 : Les opérations de base

• La somme

10.5 + 5

## [1] 15.5

7
1:10 + 5

## [1] 6 7 8 9 10 11 12 13 14 15

1:10 + 21:30

## [1] 22 24 26 28 30 32 34 36 38 40

1:10 + 1:5

## [1] 2 4 6 8 10 7 9 11 13 15

1:4 + 1:3

## Warning in 1:4 + 1:3: la taille d’un objet plus long n’est pas multiple de la
## taille d’un objet plus court

## [1] 2 4 6 5

# "a" + "b"

• La soustraction

20 - 10

## [1] 10

0:20 - 20

## [1] -20 -19 -18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2
## [20] -1 0

0:20 - 30:10

## [1] -30 -28 -26 -24 -22 -20 -18 -16 -14 -12 -10 -8 -6 -4 -2 0 2 4 6
## [20] 8 10

• La multiplication

10 * 5

## [1] 50

1:4 * 5

## [1] 5 10 15 20

8
1:4 * 2:5

## [1] 2 6 12 20

• La division

1.5 / 3

## [1] 0.5

1:4 / 4

## [1] 0.25 0.50 0.75 1.00

1:20 / -20:0

## Warning in 1:20/-20:0: la taille d’un objet plus long n’est pas multiple de la
## taille d’un objet plus court

## [1] -0.0500000 -0.1052632 -0.1666667 -0.2352941 -0.3125000 -0.4000000


## [7] -0.5000000 -0.6153846 -0.7500000 -0.9090909 -1.1000000 -1.3333333
## [13] -1.6250000 -2.0000000 -2.5000000 -3.2000000 -4.2500000 -6.0000000
## [19] -9.5000000 -20.0000000 Inf

• La puissance

5ˆ2

## [1] 25

10ˆ3

## [1] 1000

(1:10)ˆ2

## [1] 1 4 9 16 25 36 49 64 81 100

• La comparaison

5 == 3

## [1] FALSE

a <- 2
a == 5

## [1] FALSE

• La négation

9
!TRUE

## [1] FALSE

a != 3

## [1] TRUE

• Les opérateurs logiques

!FALSE

## [1] TRUE

TRUE & FALSE

## [1] FALSE

TRUE | FALSE

## [1] TRUE

x <- rep(TRUE,5)
y <- rep(FALSE,5)

## [1] TRUE TRUE TRUE TRUE TRUE

## [1] FALSE FALSE FALSE FALSE FALSE

x & y

## [1] FALSE FALSE FALSE FALSE FALSE

x | y

## [1] TRUE TRUE TRUE TRUE TRUE

x && y

## [1] FALSE

10
x || y

## [1] TRUE

• is.na

is.na(x)

## [1] FALSE FALSE FALSE FALSE FALSE

## [1] TRUE TRUE TRUE TRUE TRUE

z <- c(5, NA, 2, 1, NA)


z

## [1] 5 NA 2 1 NA

is.na(z)

## [1] FALSE TRUE FALSE FALSE TRUE

# sum(is.na(z))

!is.na(z)

## [1] TRUE FALSE TRUE TRUE FALSE

2.6 ; Les séquences et les répétitions

R propose plusieurs méthodes pour générer des séquences de nombres.La fonction standard utilisée est :

x <- 1:10
x

## [1] 1 2 3 4 5 6 7 8 9 10

y <- 15:25
y

## [1] 15 16 17 18 19 20 21 22 23 24 25

class(y)

## [1] "integer"

11
100:90

## [1] 100 99 98 97 96 95 94 93 92 91 90

On peut générer une séquence décroissante.

z <- 10:1
z

## [1] 10 9 8 7 6 5 4 3 2 1

ou même une séquence réelle.

w <- 2.5:10.5
w

## [1] 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 10.5

class(w)

## [1] "numeric"

2.5:6.6

## [1] 2.5 3.5 4.5 5.5 6.5

L’inconvénient de cette fonction est qu’on peut modifier l’incrément. Si on veut avoir une séquence avec un
incrément différent il faut utiliser une autre fonction.

La fonction seq()

On peut créer une séquence en précisant le début, la fin et l’incrément.

x <- seq(20,30, by = 2)
x

## [1] 20 22 24 26 28 30

y <- seq(11,29, by = 5)
y

## [1] 11 16 21 26

Une autre manière de créer la séquence est préciser le début, la fin et le nombre de valeurs dans la séquence.

z <- seq(1, 20, length.out = 15)


z

## [1] 1.000000 2.357143 3.714286 5.071429 6.428571 7.785714 9.142857


## [8] 10.500000 11.857143 13.214286 14.571429 15.928571 17.285714 18.642857
## [15] 20.000000

12
w <- seq(1,10, length.out = 10)
w

## [1] 1 2 3 4 5 6 7 8 9 10

La fonction rep()

Une fonction tr-s utile pour générer des vecteurs de valeurs répétées. On peut créer une répétition par

x <- rep(1, 5)
x

## [1] 1 1 1 1 1

rep("v", 5)

## [1] "v" "v" "v" "v" "v"

La fonction rep() peut présenter plusieurs sorties différentes selon les paramètres.

• Répéter une séquence plusieurs fois

rep(1:4, 2)

## [1] 1 2 3 4 1 2 3 4

rep(seq(0, 10, 2), 5)

## [1] 0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10 0
## [26] 2 4 6 8 10

• Répéter chaque élément dans une séquence plusieurs fois

rep(1:4, each = 2)

## [1] 1 1 2 2 3 3 4 4

rep(seq(0, 10, 2), each = 5)

## [1] 0 0 0 0 0 2 2 2 2 2 4 4 4 4 4 6 6 6 6 6 8 8 8 8 8
## [26] 10 10 10 10 10

• Répéter chaque élément dans une séquence plusieurs fois (chaque élément peut être répéter différent
nombre de fois)

13
rep(1:4, c(2,1,2,1))

## [1] 1 1 2 3 3 4

rep(seq(0, 10, 2), c(1,2,3,4,5,8))

## [1] 0 2 2 4 4 4 6 6 6 6 8 8 8 8 8 10 10 10 10 10 10 10 10

• Fixer la longueur de la séquence

rep(1:4, each = 2, length.out = 4)

## [1] 1 1 2 2

rep(1:4, each = 2, length.out = 20)

## [1] 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 1 1 2 2

• Répéter une répétition

rep(1:4, each = 2, times = 3)

## [1] 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4

2.7 : Les matrices

Remarque Les matrices nécessitent un traitement plus avancé. Dans ce cours on va présenter les élements
de base seulement.
Les matrices dans R sont des vecteurs à deux dimensions. Pour créer une matrice on utilise la fonction
matrix(). Puisque la matrice à 2 dimension alors l’objet matrice doit avoir un attribut dim()

m <- matrix(nrow = 2, ncol = 3)

## [,1] [,2] [,3]


## [1,] NA NA NA
## [2,] NA NA NA

matrix(nrow = 10, ncol = 5)

## [,1] [,2] [,3] [,4] [,5]


## [1,] NA NA NA NA NA
## [2,] NA NA NA NA NA
## [3,] NA NA NA NA NA
## [4,] NA NA NA NA NA
## [5,] NA NA NA NA NA

14
## [6,] NA NA NA NA NA
## [7,] NA NA NA NA NA
## [8,] NA NA NA NA NA
## [9,] NA NA NA NA NA
## [10,] NA NA NA NA NA

Chaque objet dans R a une liste d’attributs qu’on peut les accéder.

attributes(m)

## $dim
## [1] 2 3

dim(m)

## [1] 2 3

Les matrices sont remplis par colonne (par défaut) alors si on veut ajouter des données dans la matrice déja
définie.

m <- matrix(1:6, nrow = 2, ncol = 3)


m

## [,1] [,2] [,3]


## [1,] 1 3 5
## [2,] 2 4 6

#matrix(1:6, 3, 2)

Si on veut remplir par ligne, il faut utiliser un autre argument byrow =

m <- matrix(1:6, nrow = 2, ncol = 3, byrow = TRUE)


m

## [,1] [,2] [,3]


## [1,] 1 2 3
## [2,] 4 5 6

2.8 : Les listes

Remarque Les matrices nécessitent un traitement plus avancé. Dans ce cours on va présenter les élements
de base seulement.
Les listes dans R sont un type sépcial des vecteurs qui peuvent contenir des valeurs de plusieurs class
différentes. On peut créer une liste explicitement par la fonction list()

x <- list(1, "a", TRUE, 1 + 4i)


x

15
## [[1]]
## [1] 1
##
## [[2]]
## [1] "a"
##
## [[3]]
## [1] TRUE
##
## [[4]]
## [1] 1+4i

La liste peut contenir plusieurs valeurs et chaque valeur peut contenir un objet de taille différente (l’objet
peut même être une liste).

y <- list("a", c(1,2), 1.5:5.5, TRUE)


y

## [[1]]
## [1] "a"
##
## [[2]]
## [1] 1 2
##
## [[3]]
## [1] 1.5 2.5 3.5 4.5 5.5
##
## [[4]]
## [1] TRUE

y[[3]]

## [1] 1.5 2.5 3.5 4.5 5.5

2.9 : Les facteurs

les facteurs sont utilisées pour représenter les données catégorielles ordonnées ou non ordonnées. On peut
penser que les facteurs sont des données numériques libelées.
On peut créer un facteur par la fonction factor()

z <- c("yes", "yes", "no", "yes", "no")


z

## [1] "yes" "yes" "no" "yes" "no"

z[6] <- "n"


z

## [1] "yes" "yes" "no" "yes" "no" "n"

16
x <- factor(c("yes", "yes", "no", "yes", "no"))
x

## [1] yes yes no yes no


## Levels: no yes

x[6] <- "n"

## Warning in ‘[<-.factor‘(‘*tmp*‘, 6, value = "n"): niveau de facteur incorrect,


## NAs générés

## [1] yes yes no yes no <NA>


## Levels: no yes

levels(x)

## [1] "no" "yes"

y <- factor(c("TRUE", "FALSE", "FALSE"))


y

## [1] TRUE FALSE FALSE


## Levels: FALSE TRUE

y[4] <- "FALSe"

## Warning in ‘[<-.factor‘(‘*tmp*‘, 4, value = "FALSe"): niveau de facteur


## incorrect, NAs générés

## [1] TRUE FALSE FALSE <NA>


## Levels: FALSE TRUE

On peut transformer une variable numérique en un facteur en utilisant as.factor()

x <- rep(0:2, 10)


x

## [1] 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2

class(x)

## [1] "integer"

17
y <- as.factor(x)
y

## [1] 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
## Levels: 0 1 2

class(y)

## [1] "factor"

L’ordre des levels dans un facteur est important dans plusieurs analyses comme la régression, on peut changer
l’order des facteur en utilisant l’argument levels =

z <- factor(x, levels = c(2,0,1))


z

## [1] 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
## Levels: 2 0 1

x <- 1:10
x

## [1] 1 2 3 4 5 6 7 8 9 10

z <- factor(1:10, levels = 1:9)


z

## [1] 1 2 3 4 5 6 7 8 9 <NA>
## Levels: 1 2 3 4 5 6 7 8 9

2.10 : Les data frames

Data frame est l’objet utilisé pour storer les données tabulaires dans R. La data frame est une liste spéciale
ou chaque élément de la liste doit contenir des données de la même classe et tous les objets doivent avoir la
même taille.

df <- data.frame(x = 1:4, y = c(TRUE, TRUE, FALSE, FALSE))


df

## x y
## 1 1 TRUE
## 2 2 TRUE
## 3 3 FALSE
## 4 4 FALSE

On peut accéder aux différents attributs d’une data frame.

18
attributes(df)

## $names
## [1] "x" "y"
##
## $class
## [1] "data.frame"
##
## $row.names
## [1] 1 2 3 4

names(df)

## [1] "x" "y"

rownames(df)

## [1] "1" "2" "3" "4"

colnames(df)

## [1] "x" "y"

On peut changer les attributs.

colnames(df) <- c("Identité", "Bac")


df

## Identité Bac
## 1 1 TRUE
## 2 2 TRUE
## 3 3 FALSE
## 4 4 FALSE

On peut associer plusieurs fonctions avec les data frames (On ne peut jamais donner une liste exhaustive
dans le cours)

dim(df)

## [1] 4 2

ncol(df)

## [1] 2

nrow(df)

## [1] 4

19
2.11 : l’indexation

Le système d’indexation dans R diffère d’une class à une autre, mais le principe reste similaire.

Les vecteurs

x <- 50:70
x

## [1] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70

x[5]

## [1] 54

x[5:15]

## [1] 54 55 56 57 58 59 60 61 62 63 64

x[-5]

## [1] 50 51 52 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70

x[18:13]

## [1] 67 66 65 64 63 62

x[c(1,5,10,11)]

## [1] 50 54 59 60

x[-(12:20)]

## [1] 50 51 52 53 54 55 56 57 58 59 60 70

Les data frames

L’indexation pour les data frames est similaire à celle des vecteurs, mais il faut toujours raisonner en termes
de lignes et colonnes.

df <- data.frame(x = (1:10)ˆ2, y = letters[1:10])


df

20
## x y
## 1 1 a
## 2 4 b
## 3 9 c
## 4 16 d
## 5 25 e
## 6 36 f
## 7 49 g
## 8 64 h
## 9 81 i
## 10 100 j

df[5,2]

## [1] "e"

df[,2]

## [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"

df[3,]

## x y
## 3 9 c

df[-(1:8), -1]

## [1] "i" "j"

df[7:9,"x"]

## [1] 49 64 81

df$x

## [1] 1 4 9 16 25 36 49 64 81 100

df$x

## [1] 1 4 9 16 25 36 49 64 81 100

df$y

## [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"

names(df) <- c("numéro", "character")

df$character

## [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"

21
Les listes

L’indexation des listes est un peu plus compliquée et nécessite la compréhension du nombre d’élements dans
la liste, puisque la liste est irrégulière par défaut.

liste <- list(x = 1:5, y = LETTERS[1:10], z = 1:3 + 2i)


liste

## $x
## [1] 1 2 3 4 5
##
## $y
## [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
##
## $z
## [1] 1+2i 2+2i 3+2i

liste["x"]

## $x
## [1] 1 2 3 4 5

liste["x"][3]

## $<NA>
## NULL

liste[["x"]]

## [1] 1 2 3 4 5

liste[["x"]][3]

## [1] 3

liste[[1]][3]

## [1] 3

liste[[2]][1:3]

## [1] "A" "B" "C"

3. Importation et Exportation des données


L’importation des données est une étape prémordiale dans tous anlayse statistique.

22
3.1 : Le répertoire de travail

Avanat de présenter les outils qui permettent d’importer des données dans R, il est important de préciser un
répertoire de travail. Ce répertoire doit contenir les fichiers contenant les données.
Pour connaitre le répertoire de travail actuel, on utilise la fonction getwd()

getwd()

## [1] "D:/Enseignement/ENSSEA/2021-2022/S2/R course 2022"

Pour changer ou modifier le répertoire de travail on peut utiliser la méthode manuelle en suivant les étapes
suivant :
Session –> Set Workind Directory –> Choose Directory
ou en utilisant le code par la fonction setwd(). Cette opération doit s’effectuer dans la console et non pas
à l’inéterieur du fichier RMarkdown.

3.2 : Importer les données d’un CSV

la fonction read.csv() permet de lire les données d’un fichier CSV. Il faut soit préciser le chemin du fichier
ou lire un fichier qui est dans le répertoire actuel (la méthode la plus efficace)

data <- read.csv("flights.csv")

Les données importées seront storées dans un Data Frame.


Remarque: cette fonction est la fonction très standard pour importer un fichier CSV. Il existe plusieurs
autres fonctions plus rapides et efficaces pour effectuer la même tache.

3.3 : Importer les données d’un fichier texte

On peut aussi lire des donées à partir des fichiers textes en utilisant la fonction read.table()

data2 <- read.table("flights.txt")

On remarque qu’en utilisant le code ci-dessous on a considéré que la première ligne est une ligne de données,
alors que cette ligne contient les noms des variables. Pour assurer que cette première ligne est considèré
comme noms de variables alors on doit ajouter l’argument : header = TRUE

data3 <- read.table("flights.txt", header = TRUE)

3.4 : Importer les données d’un fichier Excel !!

Base R ne permet pas de lire des données de provenance des fichiers de format tabulaires comme Excel. Par
contre, on va utiliser des packages pour lire ce genre de fichiers ultèrieurement.

23
3.6 : Importer les données d’un package :
Il existe plusieurs packages dans R qui contiennent des données. Pour accéder les données d’un package on
utilise la fonction data() en utilisant l’argument package = pour préciser le package contenant les données.
Si le package est déja chargé dans l’environement, on peut lire les données sont préciser l’argument.

get(data("swiss", package = "datasets"))

## Fertility Agriculture Examination Education Catholic


## Courtelary 80.2 17.0 15 12 9.96
## Delemont 83.1 45.1 6 9 84.84
## Franches-Mnt 92.5 39.7 5 5 93.40
## Moutier 85.8 36.5 12 7 33.77
## Neuveville 76.9 43.5 17 15 5.16
## Porrentruy 76.1 35.3 9 7 90.57
## Broye 83.8 70.2 16 7 92.85
## Glane 92.4 67.8 14 8 97.16
## Gruyere 82.4 53.3 12 7 97.67
## Sarine 82.9 45.2 16 13 91.38
## Veveyse 87.1 64.5 14 6 98.61
## Aigle 64.1 62.0 21 12 8.52
## Aubonne 66.9 67.5 14 7 2.27
## Avenches 68.9 60.7 19 12 4.43
## Cossonay 61.7 69.3 22 5 2.82
## Echallens 68.3 72.6 18 2 24.20
## Grandson 71.7 34.0 17 8 3.30
## Lausanne 55.7 19.4 26 28 12.11
## La Vallee 54.3 15.2 31 20 2.15
## Lavaux 65.1 73.0 19 9 2.84
## Morges 65.5 59.8 22 10 5.23
## Moudon 65.0 55.1 14 3 4.52
## Nyone 56.6 50.9 22 12 15.14
## Orbe 57.4 54.1 20 6 4.20
## Oron 72.5 71.2 12 1 2.40
## Payerne 74.2 58.1 14 8 5.23
## Paysd’enhaut 72.0 63.5 6 3 2.56
## Rolle 60.5 60.8 16 10 7.72
## Vevey 58.3 26.8 25 19 18.46
## Yverdon 65.4 49.5 15 8 6.10
## Conthey 75.5 85.9 3 2 99.71
## Entremont 69.3 84.9 7 6 99.68
## Herens 77.3 89.7 5 2 100.00
## Martigwy 70.5 78.2 12 6 98.96
## Monthey 79.4 64.9 7 3 98.22
## St Maurice 65.0 75.9 9 9 99.06
## Sierre 92.2 84.6 3 3 99.46
## Sion 79.3 63.1 13 13 96.83
## Boudry 70.4 38.4 26 12 5.62
## La Chauxdfnd 65.7 7.7 29 11 13.79
## Le Locle 72.7 16.7 22 13 11.22
## Neuchatel 64.4 17.6 35 32 16.92
## Val de Ruz 77.6 37.6 15 7 4.97
## ValdeTravers 67.6 18.7 25 7 8.65
## V. De Geneve 35.0 1.2 37 53 42.34

24
## Rive Droite 44.7 46.6 16 29 50.43
## Rive Gauche 42.8 27.7 22 29 58.33
## Infant.Mortality
## Courtelary 22.2
## Delemont 22.2
## Franches-Mnt 20.2
## Moutier 20.3
## Neuveville 20.6
## Porrentruy 26.6
## Broye 23.6
## Glane 24.9
## Gruyere 21.0
## Sarine 24.4
## Veveyse 24.5
## Aigle 16.5
## Aubonne 19.1
## Avenches 22.7
## Cossonay 18.7
## Echallens 21.2
## Grandson 20.0
## Lausanne 20.2
## La Vallee 10.8
## Lavaux 20.0
## Morges 18.0
## Moudon 22.4
## Nyone 16.7
## Orbe 15.3
## Oron 21.0
## Payerne 23.8
## Paysd’enhaut 18.0
## Rolle 16.3
## Vevey 20.9
## Yverdon 22.5
## Conthey 15.1
## Entremont 19.8
## Herens 18.3
## Martigwy 19.4
## Monthey 20.2
## St Maurice 17.8
## Sierre 16.3
## Sion 18.1
## Boudry 20.3
## La Chauxdfnd 20.5
## Le Locle 18.9
## Neuchatel 23.0
## Val de Ruz 20.0
## ValdeTravers 19.5
## V. De Geneve 18.0
## Rive Droite 18.2
## Rive Gauche 19.3

25
data("swiss", package = "datasets")

3.5 : Exporter des données :

On peut exporter une base de donées (déja traitée ou non) dans un fichier CSV par la fonction write.csv()

write.csv(data, "flights_modified.csv", row.names = FALSE)

ou l’exporter sous format d’un fichier text

write.table(data, "flights_modified.txt", row.names = FALSE)

4. Les fonctions
On peut créer des fonctions personalisées sur R.
Pour créer une fonction sur R, on utilise la fonction function(). La fonction peut avoir un ou plusieurs
arguments.

sommation <- function(a, b){


s <- a +b
return(s)
}

sommation(5, 8)

## [1] 13

sommation_def <- function(a = 15, b){


a + b
}

sommation_def(a = 5, b = 1)

## [1] 6

sommation_def(b = 5, a = 1)

## [1] 6

sommation_def(5, a = 1)

## [1] 6

sommation_def(b = 1)

## [1] 16

26
5. Introduction à l’analyse statistique sur R
Le logiciel R contient une panoplie d’outils pour effectuer les analyses statistiques les plus avancées.

5.1 : Analayse générale d’une data Frame

Pour analyser une data frame on utilise souvent les deux fonctions :

str(data)

## ’data.frame’: 5819 obs. of 31 variables:


## $ YEAR : int 2015 2015 2015 2015 2015 2015 2015 2015 2015 2015 ...
## $ MONTH : int 5 4 1 5 9 12 6 5 8 1 ...
## $ DAY : int 16 7 8 5 22 22 17 24 15 12 ...
## $ DAY_OF_WEEK : int 6 2 4 2 2 2 3 7 6 1 ...
## $ AIRLINE : chr "UA" "AA" "OO" "OO" ...
## $ FLIGHT_NUMBER : int 1511 343 2640 5219 134 333 6530 3045 691 1789 ...
## $ TAIL_NUMBER : chr "N18220" "N3ALAA" "N988CA" "N971SW" ...
## $ ORIGIN_AIRPORT : chr "PHX" "LGA" "ORD" "SBN" ...
## $ DESTINATION_AIRPORT: chr "ORD" "ORD" "ICT" "ORD" ...
## $ SCHEDULED_DEPARTURE: int 1413 1630 835 622 1003 1000 1620 1830 900 1810 ...
## $ DEPARTURE_TIME : num 1417 1704 1113 616 959 ...
## $ DEPARTURE_DELAY : num 4 34 158 -6 -4 2 13 3 -2 117 ...
## $ TAXI_OUT : num 11 31 16 10 19 17 19 12 13 13 ...
## $ WHEELS_OFF : num 1428 1735 1129 626 1018 ...
## $ SCHEDULED_TIME : num 207 170 120 44 226 396 225 117 122 160 ...
## $ ELAPSED_TIME : num 192 184 119 39 219 390 214 99 100 139 ...
## $ AIR_TIME : num 171 137 99 24 193 368 187 80 79 121 ...
## $ DISTANCE : int 1440 733 588 84 1671 2611 1499 551 599 748 ...
## $ WHEELS_ON : num 1919 1852 1308 550 1631 ...
## $ TAXI_IN : num 10 16 4 5 7 5 8 7 8 5 ...
## $ SCHEDULED_ARRIVAL : int 1940 1820 1035 606 1649 1336 2205 1927 1202 1950 ...
## $ ARRIVAL_TIME : num 1929 1908 1312 555 1638 ...
## $ ARRIVAL_DELAY : num -11 48 157 -11 -11 -4 2 -15 -24 96 ...
## $ DIVERTED : int 0 0 0 0 0 0 0 0 0 0 ...
## $ CANCELLED : int 0 0 0 0 0 0 0 0 0 0 ...
## $ CANCELLATION_REASON: chr "" "" "" "" ...
## $ AIR_SYSTEM_DELAY : num NA 14 0 NA NA NA NA NA NA 0 ...
## $ SECURITY_DELAY : num NA 0 0 NA NA NA NA NA NA 0 ...
## $ AIRLINE_DELAY : num NA 0 0 NA NA NA NA NA NA 6 ...
## $ LATE_AIRCRAFT_DELAY: num NA 34 6 NA NA NA NA NA NA 90 ...
## $ WEATHER_DELAY : num NA 0 151 NA NA NA NA NA NA 0 ...

summary(data)

## YEAR MONTH DAY DAY_OF_WEEK


## Min. :2015 Min. : 1.000 Min. : 1.00 Min. :1.000
## 1st Qu.:2015 1st Qu.: 4.000 1st Qu.: 8.00 1st Qu.:2.000
## Median :2015 Median : 7.000 Median :16.00 Median :4.000
## Mean :2015 Mean : 6.549 Mean :15.83 Mean :3.892
## 3rd Qu.:2015 3rd Qu.:10.000 3rd Qu.:23.00 3rd Qu.:6.000
## Max. :2015 Max. :12.000 Max. :31.00 Max. :7.000

27
##
## AIRLINE FLIGHT_NUMBER TAIL_NUMBER ORIGIN_AIRPORT
## Length:5819 Min. : 1.0 Length:5819 Length:5819
## Class :character 1st Qu.: 733.5 Class :character Class :character
## Mode :character Median :1711.0 Mode :character Mode :character
## Mean :2184.8
## 3rd Qu.:3214.0
## Max. :7438.0
##
## DESTINATION_AIRPORT SCHEDULED_DEPARTURE DEPARTURE_TIME DEPARTURE_DELAY
## Length:5819 Min. : 5 Min. : 1 Min. : -23.000
## Class :character 1st Qu.: 915 1st Qu.: 921 1st Qu.: -5.000
## Mode :character Median :1330 Median :1336 Median : -1.000
## Mean :1332 Mean :1337 Mean : 9.506
## 3rd Qu.:1730 3rd Qu.:1740 3rd Qu.: 8.000
## Max. :2359 Max. :2357 Max. :1043.000
## NA’s :79 NA’s :79
## TAXI_OUT WHEELS_OFF SCHEDULED_TIME ELAPSED_TIME
## Min. : 3.00 Min. : 1 Min. : 23.0 Min. : 19.0
## 1st Qu.: 11.00 1st Qu.: 937 1st Qu.: 85.0 1st Qu.: 81.0
## Median : 14.00 Median :1351 Median :121.0 Median :117.0
## Mean : 16.03 Mean :1360 Mean :140.7 Mean :135.9
## 3rd Qu.: 19.00 3rd Qu.:1754 3rd Qu.:173.0 3rd Qu.:168.0
## Max. :134.00 Max. :2400 Max. :604.0 Max. :585.0
## NA’s :80 NA’s :80 NA’s :100
## AIR_TIME DISTANCE WHEELS_ON TAXI_IN
## Min. : 9.0 Min. : 31.0 Min. : 1 Min. : 1.000
## 1st Qu.: 59.0 1st Qu.: 368.0 1st Qu.:1048 1st Qu.: 4.000
## Median : 94.0 Median : 643.0 Median :1506 Median : 6.000
## Mean :112.6 Mean : 815.2 Mean :1462 Mean : 7.345
## 3rd Qu.:143.0 3rd Qu.:1061.0 3rd Qu.:1905 3rd Qu.: 9.000
## Max. :559.0 Max. :4962.0 Max. :2400 Max. :99.000
## NA’s :100 NA’s :84 NA’s :84
## SCHEDULED_ARRIVAL ARRIVAL_TIME ARRIVAL_DELAY DIVERTED
## Min. : 1 Min. : 1 Min. : -60.00 Min. :0.000000
## 1st Qu.:1106 1st Qu.:1052 1st Qu.: -13.00 1st Qu.:0.000000
## Median :1523 Median :1510 Median : -5.00 Median :0.000000
## Mean :1492 Mean :1467 Mean : 4.44 Mean :0.003265
## 3rd Qu.:1915 3rd Qu.:1910 3rd Qu.: 8.00 3rd Qu.:0.000000
## Max. :2359 Max. :2400 Max. :1054.00 Max. :1.000000
## NA’s :84 NA’s :100
## CANCELLED CANCELLATION_REASON AIR_SYSTEM_DELAY SECURITY_DELAY
## Min. :0.00000 Length:5819 Min. : 0.00 Min. : 0.000
## 1st Qu.:0.00000 Class :character 1st Qu.: 0.00 1st Qu.: 0.000
## Median :0.00000 Mode :character Median : 0.00 Median : 0.000
## Mean :0.01392 Mean : 12.45 Mean : 0.179
## 3rd Qu.:0.00000 3rd Qu.: 17.00 3rd Qu.: 0.000
## Max. :1.00000 Max. :381.00 Max. :88.000
## NA’s :4727 NA’s :4727
## AIRLINE_DELAY LATE_AIRCRAFT_DELAY WEATHER_DELAY
## Min. : 0.00 Min. : 0.00 Min. : 0.000
## 1st Qu.: 0.00 1st Qu.: 0.00 1st Qu.: 0.000
## Median : 2.00 Median : 3.00 Median : 0.000
## Mean : 18.84 Mean : 23.41 Mean : 2.819

28
## 3rd Qu.: 19.00 3rd Qu.: 32.00 3rd Qu.: 0.000
## Max. :801.00 Max. :1033.00 Max. :247.000
## NA’s :4727 NA’s :4727 NA’s :4727

La fonction summary() présente un sommaire statistiques pour les variables numériques, le tableau de
fréquence pour les variables catégorielles. Elle précise aussi le nombre de valeurs manquantes pour les
variables numériques.

5.2 : La mesures statistiques

Comme pour toute analyse statistique on peut calculer les différentes mesures statistiques essentielles

La moyenne :

mean(data$TAXI_OUT)

## [1] NA

data$TAXI_OUT

## [1] 11 31 16 10 19 17 19 12 13 13 18 15 11 26 15 10 14 11
## [19] 18 28 9 13 8 13 5 18 20 17 10 16 12 11 10 16 9 8
## [37] 14 9 17 7 10 30 16 28 30 21 34 24 18 17 14 8 10 18
## [55] 8 17 9 15 8 10 15 11 10 18 15 17 15 11 9 30 16 14
## [73] 32 8 11 9 28 7 26 17 17 16 17 16 17 19 28 16 9 14
## [91] 17 10 25 23 12 87 13 14 22 10 21 12 22 12 25 14 8 13
## [109] 12 19 10 10 12 26 12 14 22 13 21 13 7 10 13 35 18 12
## [127] 18 23 24 11 14 12 13 14 5 16 14 21 10 NA 16 18 10 9
## [145] 12 15 11 6 13 NA 12 12 11 14 30 11 23 51 15 8 11 9
## [163] 12 15 14 18 32 18 25 40 24 25 14 9 33 13 17 14 12 12
## [181] 12 12 14 20 14 16 15 16 17 17 28 25 11 12 34 27 17 14
## [199] 10 14 15 22 36 10 20 NA 33 14 13 26 10 24 23 33 9 12
## [217] 15 13 7 7 22 11 12 15 14 13 21 14 10 9 22 25 16 10
## [235] 12 13 10 20 12 11 12 15 6 11 14 20 9 11 13 39 20 12
## [253] 9 9 8 11 14 14 14 20 10 9 12 10 37 30 25 16 11 23
## [271] 21 16 9 10 20 13 10 6 21 11 9 20 12 17 13 15 22 17
## [289] 8 12 12 19 13 11 10 9 28 13 11 8 8 19 7 17 32 14
## [307] 14 34 25 11 19 12 25 18 22 13 8 22 11 11 12 12 24 14
## [325] 55 11 32 15 50 15 15 14 17 14 20 11 9 18 6 18 9 13
## [343] 10 9 16 8 22 18 19 20 17 13 19 17 15 16 7 11 11 22
## [361] 14 11 14 21 10 13 12 21 12 14 22 7 8 28 20 9 16 22
## [379] 12 11 17 19 11 18 15 14 15 13 9 10 11 11 15 12 17 12
## [397] 12 15 12 11 14 19 11 14 20 21 8 20 8 28 13 11 23 6
## [415] 32 14 12 13 13 10 28 37 25 21 13 12 12 7 15 16 16 9
## [433] 14 14 13 14 17 12 13 8 18 11 24 21 23 7 25 13 32 14
## [451] NA 17 24 26 17 9 14 16 12 11 10 13 26 16 14 31 20 10
## [469] 13 16 4 15 9 17 14 15 14 27 18 14 12 19 11 18 22 10
## [487] 7 11 19 11 11 22 12 6 10 8 7 18 21 13 14 9 19 19
## [505] 9 11 14 12 9 27 19 13 12 13 7 16 8 22 29 9 30 19
## [523] 10 22 14 27 17 11 18 11 14 13 10 15 37 11 13 9 17 15

29
## [541] 35 15 12 12 10 13 19 38 14 19 7 14 16 17 22 14 13 16
## [559] NA 15 10 11 23 20 14 7 10 12 11 31 8 15 12 20 7 17
## [577] 10 NA 9 7 11 31 10 23 NA 13 20 29 17 14 16 9 14 14
## [595] 25 12 14 11 10 11 11 11 6 38 20 12 10 18 30 14 13 NA
## [613] 13 21 13 16 11 8 7 11 13 16 12 9 13 5 16 8 12 23
## [631] 17 20 17 11 10 7 11 8 16 11 18 9 12 12 16 17 12 19
## [649] 9 7 8 11 12 11 13 12 36 13 10 15 16 17 11 10 10 16
## [667] 5 16 14 10 12 23 19 12 9 NA 25 9 8 20 48 29 17 15
## [685] 14 10 14 51 14 NA 12 11 13 15 12 9 8 15 5 21 25 19
## [703] 12 14 15 11 9 6 16 9 14 NA 19 12 48 14 21 21 39 18
## [721] 3 41 15 14 19 118 17 8 33 22 9 14 14 12 14 25 13 17
## [739] 19 7 19 7 16 12 20 10 10 25 12 9 15 14 23 25 14 13
## [757] 49 10 12 16 18 10 15 12 7 28 44 9 13 11 19 11 19 18
## [775] 29 13 18 45 19 13 25 14 7 12 7 9 9 16 14 16 11 8
## [793] 16 14 10 8 8 8 13 7 18 24 21 10 NA 11 8 11 20 9
## [811] 24 10 25 24 14 15 14 13 15 17 13 16 11 11 9 9 9 17
## [829] 14 20 21 8 10 11 13 18 13 12 15 6 12 14 41 12 14 13
## [847] 48 12 8 32 10 9 16 18 12 24 17 8 11 11 13 14 11 27
## [865] 15 21 14 19 10 15 11 32 11 10 26 17 9 7 10 14 13 17
## [883] 21 16 8 10 10 7 9 15 11 26 8 10 13 12 20 23 9 8
## [901] 10 NA 18 10 9 8 39 13 11 17 15 8 19 27 9 NA 11 14
## [919] 12 12 12 15 19 12 25 50 14 7 25 11 13 8 21 29 13 15
## [937] 5 13 18 31 15 23 22 10 13 14 8 11 15 8 27 11 9 42
## [955] 13 28 16 11 12 22 18 22 30 17 19 12 11 12 10 18 10 10
## [973] 10 18 21 14 12 27 16 32 10 21 17 10 16 9 12 16 21 23
## [991] 16 31 13 13 31 41 15 36 15 18 27 9 15 15 12 10 10 30
## [1009] 13 13 45 7 15 17 26 9 29 12 11 11 11 22 12 12 18 18
## [1027] 18 16 7 8 8 12 8 13 24 23 8 39 8 14 10 16 10 20
## [1045] 22 17 21 9 33 11 9 8 9 12 13 9 17 18 8 9 9 7
## [1063] 12 22 10 35 14 8 6 13 14 8 12 11 10 7 39 11 15 11
## [1081] 9 10 NA 11 13 12 26 10 13 9 19 24 11 16 12 6 17 9
## [1099] 13 11 6 NA 36 24 9 13 15 9 NA 21 9 10 22 17 NA 13
## [1117] 17 15 22 8 12 27 14 NA 52 22 12 14 19 NA 12 12 18 25
## [1135] 7 8 12 14 14 11 11 27 10 41 11 16 15 18 18 9 41 12
## [1153] 8 11 12 12 11 11 14 12 10 13 13 20 23 29 31 16 14 16
## [1171] 15 11 13 18 40 15 11 16 9 18 29 6 11 8 9 30 13 17
## [1189] 12 6 10 14 8 21 15 17 11 7 6 21 9 28 16 19 26 21
## [1207] 12 14 10 18 14 22 32 13 8 29 28 18 18 11 49 8 13 24
## [1225] 10 11 36 15 16 26 15 47 9 13 23 17 20 10 20 13 6 11
## [1243] NA 12 48 28 26 8 20 12 18 10 18 22 14 16 10 10 12 72
## [1261] 20 13 13 17 19 16 40 18 11 8 12 44 16 26 5 15 15 12
## [1279] 23 19 10 8 10 49 24 18 19 17 29 13 14 23 13 15 18 16
## [1297] 14 10 17 13 14 13 11 11 34 19 17 7 9 13 11 26 15 13
## [1315] 16 6 9 14 14 12 12 43 12 10 37 31 12 17 8 15 7 8
## [1333] 20 12 14 33 9 8 NA 20 10 20 10 10 27 12 10 14 11 13
## [1351] 6 15 11 19 30 22 20 8 25 23 13 14 9 8 15 9 32 17
## [1369] 26 8 7 18 12 10 NA 18 14 15 10 9 12 12 12 15 34 19
## [1387] 21 31 28 12 10 12 13 19 14 13 12 13 17 16 14 12 9 9
## [1405] 21 16 17 9 35 28 15 13 9 17 9 11 10 12 13 18 15 14
## [1423] 8 10 25 13 12 10 12 10 18 15 8 23 19 28 10 7 12 119
## [1441] 34 20 11 19 21 11 27 10 35 12 15 11 15 22 22 19 10 11
## [1459] NA 13 20 8 23 9 11 10 15 14 9 53 12 12 12 26 8 31
## [1477] 12 16 12 13 28 9 9 13 10 19 36 9 9 7 11 13 23 26
## [1495] 22 23 4 35 7 18 13 14 20 16 17 37 18 15 9 17 13 21

30
## [1513] 33 12 12 23 29 12 13 13 10 50 12 9 12 25 37 18 15 14
## [1531] 9 20 11 10 9 10 8 10 12 12 11 13 17 29 10 22 15 16
## [1549] 30 10 8 8 13 11 10 7 14 12 6 14 14 17 11 9 22 13
## [1567] 14 16 22 16 7 15 25 6 18 10 15 20 26 13 18 13 9 12
## [1585] 17 14 11 11 9 16 8 14 17 12 12 NA 26 21 27 20 10 8
## [1603] 13 13 9 14 12 19 14 17 18 11 28 6 22 12 13 32 9 11
## [1621] 14 16 23 7 9 7 10 12 7 11 14 9 6 31 24 16 8 11
## [1639] 10 10 44 8 7 19 16 21 7 10 20 13 13 26 8 13 18 13
## [1657] 19 9 11 14 12 16 14 21 18 19 13 15 14 19 13 11 8 10
## [1675] 13 7 17 7 12 64 25 12 18 16 10 12 118 16 9 15 14 12
## [1693] 12 7 29 28 22 36 14 11 43 9 7 8 13 14 23 12 11 12
## [1711] 17 23 15 10 22 13 19 19 20 15 12 9 17 13 13 12 17 7
## [1729] 15 20 9 23 19 12 32 12 15 10 12 28 10 37 13 15 12 16
## [1747] 15 15 13 11 52 19 10 17 17 14 11 10 12 16 34 15 14 17
## [1765] 22 31 11 15 18 14 11 12 19 11 15 17 49 18 14 24 21 19
## [1783] 47 18 12 16 11 14 48 10 12 9 NA 18 11 13 12 16 14 9
## [1801] 21 7 19 17 8 14 17 27 22 NA 16 9 8 10 7 14 13 7
## [1819] 9 13 13 14 37 14 16 10 17 20 10 11 39 6 21 13 7 38
## [1837] 19 9 10 21 16 17 20 12 18 15 10 22 16 12 12 25 8 5
## [1855] 16 13 12 17 12 17 14 22 14 26 15 19 7 17 9 17 18 35
## [1873] 6 10 13 15 11 15 22 21 20 9 16 34 10 15 25 8 11 16
## [1891] 18 12 14 12 15 9 9 19 19 19 13 15 18 13 26 16 16 10
## [1909] 17 11 16 13 22 9 20 34 18 NA 9 29 7 14 14 14 13 20
## [1927] 9 8 14 17 23 13 12 12 11 12 16 15 32 9 9 11 11 9
## [1945] 8 16 18 14 18 20 18 14 11 15 8 8 17 12 12 12 13 9
## [1963] 36 7 22 8 6 10 14 13 7 12 10 7 8 15 6 10 15 17
## [1981] 12 13 12 14 16 35 9 5 32 20 8 10 18 10 14 22 18 11
## [1999] 15 16 12 14 11 25 7 33 12 13 13 14 9 20 10 14 14 9
## [2017] 13 24 11 42 57 10 12 26 11 24 12 21 25 11 9 15 23 22
## [2035] 20 20 10 27 18 12 18 24 10 29 40 15 15 17 10 13 13 32
## [2053] 28 11 8 12 13 17 19 12 12 16 13 6 11 14 15 21 17 14
## [2071] 15 14 16 24 9 7 13 27 13 8 12 8 15 10 17 20 12 17
## [2089] 14 12 34 9 26 20 10 12 5 13 9 14 34 16 NA 9 12 10
## [2107] 12 11 14 15 11 11 7 11 12 11 7 8 9 12 15 12 23 16
## [2125] 25 18 12 18 20 9 8 12 21 16 8 NA 29 24 12 26 18 12
## [2143] 10 41 19 17 22 18 10 39 17 26 22 21 9 7 15 21 10 12
## [2161] 17 24 10 NA 8 15 17 21 8 15 12 10 15 22 9 10 16 14
## [2179] 31 10 10 17 36 13 21 13 24 8 7 19 19 22 13 19 9 7
## [2197] 22 12 17 13 29 22 19 12 11 7 7 10 4 12 12 8 21 7
## [2215] 12 80 12 12 7 8 11 19 13 17 19 10 8 16 14 13 11 20
## [2233] 13 6 12 17 9 7 10 25 11 9 14 11 11 17 14 28 19 25
## [2251] 10 7 16 6 12 17 22 13 30 21 19 20 14 14 9 10 15 16
## [2269] 78 18 59 21 13 8 16 16 20 8 6 10 18 44 18 15 9 29
## [2287] 23 11 9 13 9 8 9 13 12 14 18 23 14 55 12 41 13 30
## [2305] 12 11 8 8 14 31 11 17 17 10 12 12 7 3 39 11 21 21
## [2323] 14 9 16 23 17 11 NA 12 13 13 11 11 13 23 9 15 10 13
## [2341] 7 24 39 11 24 17 16 10 20 16 12 11 6 NA 11 19 13 16
## [2359] 12 9 36 27 14 14 27 16 27 15 28 20 13 10 17 9 12 17
## [2377] 11 9 15 26 14 28 14 20 17 13 15 NA 25 20 16 28 13 16
## [2395] 28 9 28 20 11 16 24 19 12 14 8 12 17 12 15 18 15 24
## [2413] 29 18 12 15 9 11 11 12 11 99 24 NA 17 12 29 8 13 11
## [2431] 23 31 14 7 32 14 22 12 10 18 12 13 23 24 17 10 9 10
## [2449] 17 23 16 14 16 16 9 25 20 20 39 13 19 12 11 14 16 17
## [2467] 15 14 19 7 13 16 16 16 20 12 15 NA NA 16 25 23 30 20

31
## [2485] 19 13 10 14 8 15 32 16 9 16 12 49 10 21 19 13 12 15
## [2503] 16 11 9 25 21 44 7 17 35 30 12 14 10 26 14 11 14 14
## [2521] 15 9 22 9 14 8 12 11 30 8 10 30 13 10 19 8 15 18
## [2539] 21 9 8 19 12 19 14 15 10 10 12 10 10 12 17 15 12 15
## [2557] 40 14 20 13 16 13 16 18 15 35 30 5 16 10 32 19 17 12
## [2575] 10 21 9 17 20 8 9 19 26 13 15 7 12 19 10 9 13 24
## [2593] 11 15 18 8 14 14 15 17 13 10 12 10 23 13 16 12 27 17
## [2611] 23 18 15 28 24 18 14 19 14 8 6 NA 9 9 18 8 20 12
## [2629] 15 16 15 8 30 11 8 11 24 15 7 14 17 18 9 21 18 9
## [2647] 8 14 12 17 18 9 13 17 12 8 13 12 12 80 15 15 13 15
## [2665] 13 9 8 11 14 13 16 18 18 7 16 33 9 9 14 13 35 10
## [2683] 10 13 24 10 14 11 10 9 12 10 13 18 18 11 11 16 21 22
## [2701] 11 13 49 10 17 9 11 13 8 19 17 13 9 20 33 19 15 12
## [2719] 19 22 7 16 14 26 14 11 7 15 22 17 11 15 13 17 9 18
## [2737] 14 22 9 14 25 11 19 8 22 20 15 13 15 10 13 13 19 NA
## [2755] 17 23 10 9 21 13 10 15 12 21 10 16 11 9 13 13 14 22
## [2773] 12 18 19 14 14 25 10 20 9 15 10 34 10 8 9 28 8 23
## [2791] 9 8 11 30 11 26 13 11 10 13 24 15 7 13 14 10 12 14
## [2809] 7 10 20 33 14 18 18 9 11 15 7 40 18 8 8 12 15 15
## [2827] 25 13 18 28 21 37 72 25 10 12 27 9 10 19 20 14 14 10
## [2845] 24 16 18 12 15 18 15 19 19 15 11 40 21 16 12 53 25 18
## [2863] 18 18 9 11 20 NA 8 12 21 17 19 9 14 23 8 21 9 8
## [2881] 8 17 15 14 17 25 10 10 9 12 21 8 8 14 13 9 17 12
## [2899] 33 11 19 20 15 8 19 10 6 16 22 7 14 13 41 18 23 14
## [2917] 7 17 8 15 15 9 11 10 15 11 20 NA 33 9 10 11 23 17
## [2935] 12 NA 9 25 14 17 11 16 9 10 13 12 6 15 8 13 15 35
## [2953] 12 10 13 34 16 11 42 31 10 7 44 13 20 14 15 25 10 13
## [2971] 20 26 14 28 19 29 10 11 20 19 20 11 27 11 48 10 NA 12
## [2989] 14 17 14 41 18 10 17 9 12 33 10 15 10 10 23 11 20 8
## [3007] 10 13 16 10 21 5 18 9 11 14 7 8 25 39 9 30 21 14
## [3025] 25 10 11 14 29 27 13 17 16 11 10 10 69 11 17 10 13 26
## [3043] 40 24 13 21 10 6 NA NA 9 13 19 21 14 17 11 24 16 11
## [3061] 13 12 16 13 9 15 15 18 10 17 13 12 8 12 20 22 18 19
## [3079] 36 8 8 14 51 7 6 9 9 12 9 15 9 18 13 30 9 11
## [3097] 12 7 14 14 16 13 10 14 20 20 11 11 12 15 21 25 10 18
## [3115] 23 15 14 14 9 19 33 8 21 16 24 16 11 NA 14 14 11 12
## [3133] 16 13 13 16 9 17 12 19 15 8 17 18 15 10 15 8 12 43
## [3151] 8 11 13 15 38 12 6 11 15 10 12 20 12 19 14 20 14 14
## [3169] 11 28 10 11 9 7 10 25 15 7 16 14 11 11 17 21 14 14
## [3187] 8 15 11 25 7 24 17 9 67 21 14 9 20 7 14 NA 11 5
## [3205] 15 13 11 8 11 11 12 23 13 9 27 21 10 24 NA 11 8 12
## [3223] 7 7 34 15 20 11 27 21 33 9 12 33 16 11 33 22 13 15
## [3241] 22 15 18 7 16 29 7 20 17 19 14 20 26 11 11 11 53 16
## [3259] 12 9 10 10 9 8 18 28 12 13 78 8 22 6 8 12 19 9
## [3277] 36 23 12 9 33 11 11 15 21 18 11 20 9 12 14 16 13 22
## [3295] 14 16 8 6 16 8 12 36 6 23 11 24 24 13 6 14 12 13
## [3313] 19 8 9 23 15 24 18 16 15 18 14 8 20 11 29 10 15 10
## [3331] 60 17 12 41 28 11 11 22 21 8 13 11 12 14 9 17 13 10
## [3349] 11 10 26 27 9 14 31 24 34 26 11 19 17 14 11 22 28 15
## [3367] 22 11 16 23 14 12 18 18 11 7 15 10 22 7 8 17 12 16
## [3385] 10 21 NA 10 41 12 7 32 9 23 NA 13 14 11 8 16 5 10
## [3403] 19 9 12 16 21 13 24 10 14 11 17 14 14 12 15 20 17 15
## [3421] 15 17 13 7 17 15 11 15 18 15 20 11 13 11 7 17 19 15
## [3439] 14 18 13 17 7 12 6 8 12 17 24 14 12 15 17 14 26 27

32
## [3457] 12 16 16 8 11 10 14 20 6 11 14 11 9 28 11 14 12 26
## [3475] 13 10 20 13 21 19 9 33 100 12 27 22 11 12 8 41 12 11
## [3493] 30 10 19 8 10 11 28 11 13 17 41 21 13 7 9 51 57 14
## [3511] 12 16 10 11 21 59 17 12 15 14 15 16 11 23 18 13 16 16
## [3529] 11 13 16 16 11 8 10 27 12 13 11 7 13 23 8 12 10 9
## [3547] 9 5 14 20 12 10 15 31 17 28 18 10 11 21 9 15 12 25
## [3565] 14 10 14 19 9 14 31 9 NA 11 9 21 8 49 20 10 11 6
## [3583] 12 21 9 10 12 20 12 12 11 15 17 12 8 25 8 10 11 15
## [3601] 9 16 18 12 27 16 15 6 10 12 19 12 14 14 39 65 11 23
## [3619] 8 16 16 13 8 14 20 29 16 30 31 15 26 11 12 8 25 66
## [3637] 10 9 13 23 27 14 19 18 NA 17 11 10 11 10 15 9 18 7
## [3655] 20 12 8 14 13 7 12 39 16 30 NA 17 15 18 10 12 8 15
## [3673] 18 12 8 9 21 10 27 16 14 17 10 19 9 18 11 14 9 16
## [3691] 12 8 12 27 24 14 10 18 6 6 11 6 15 9 20 10 9 13
## [3709] 14 15 13 92 8 22 32 9 16 13 10 16 20 14 24 7 18 25
## [3727] 24 10 12 16 22 23 13 11 13 17 15 26 18 17 18 14 16 38
## [3745] 13 11 14 13 18 11 7 14 11 18 9 36 12 8 12 11 16 22
## [3763] 20 37 9 28 12 17 23 21 11 13 14 13 12 18 18 12 18 18
## [3781] 12 18 134 10 14 11 12 15 15 15 NA 12 11 30 17 9 22 8
## [3799] 15 17 16 26 10 23 22 10 19 12 18 15 13 20 16 22 15 8
## [3817] 12 7 23 14 14 18 12 21 6 11 15 14 31 23 16 18 20 NA
## [3835] 12 24 13 16 9 11 14 16 8 22 12 16 10 15 16 17 16 10
## [3853] 26 11 12 11 8 11 13 10 20 10 21 13 20 11 9 9 14 8
## [3871] 9 17 13 16 9 13 14 16 16 12 17 15 13 12 12 7 5 8
## [3889] 14 11 20 9 9 15 18 14 17 12 13 NA 35 19 25 17 14 7
## [3907] 22 22 14 6 9 14 15 19 12 9 23 12 15 8 17 80 6 27
## [3925] 9 7 15 17 12 10 13 12 14 11 9 13 21 22 27 9 11 13
## [3943] 11 10 15 9 12 10 9 9 15 19 17 13 30 18 13 10 8 19
## [3961] 11 17 11 15 11 8 12 10 38 20 23 21 11 10 12 19 7 17
## [3979] 11 16 15 17 10 12 17 53 13 10 12 9 22 25 15 10 21 7
## [3997] 14 15 19 11 21 9 11 15 15 13 12 9 12 72 15 61 20 17
## [4015] 22 8 12 39 11 13 20 9 13 10 69 7 30 11 20 18 10 13
## [4033] 15 14 14 9 6 14 35 15 14 12 11 9 17 16 7 24 18 19
## [4051] 13 33 12 23 34 14 12 19 17 14 19 13 18 11 21 16 9 10
## [4069] 15 22 13 13 12 10 8 13 NA 8 11 16 15 28 18 19 16 16
## [4087] 44 14 21 15 16 10 18 17 24 16 10 11 27 41 12 14 12 23
## [4105] 30 10 23 15 12 24 14 18 7 12 16 26 15 74 12 17 10 13
## [4123] 12 17 17 11 19 11 12 23 57 33 9 11 13 24 15 10 14 15
## [4141] 20 14 NA 21 22 10 13 9 17 11 18 19 21 14 8 13 12 87
## [4159] 13 12 18 8 10 17 16 11 15 13 9 8 17 19 18 56 14 17
## [4177] 9 5 8 11 9 10 6 16 14 8 13 NA 36 17 21 21 24 8
## [4195] 11 8 15 12 53 NA 13 15 6 14 21 12 22 9 6 8 23 9
## [4213] 38 22 8 15 10 25 20 13 11 36 12 17 19 35 23 49 33 11
## [4231] 10 9 10 10 11 10 11 9 16 12 14 15 30 33 13 23 15 21
## [4249] 15 16 35 48 26 11 16 12 18 7 36 18 16 42 31 8 15 8
## [4267] 13 14 12 22 18 13 14 8 15 9 16 19 16 12 16 12 15 18
## [4285] 29 27 9 45 13 10 12 10 13 18 19 20 16 9 18 31 7 22
## [4303] 19 9 14 21 16 13 35 13 20 7 17 19 20 14 12 13 20 13
## [4321] 16 11 10 11 11 12 28 18 18 11 NA 13 26 10 9 10 10 17
## [4339] 18 13 15 9 11 13 15 12 17 13 10 22 7 12 17 12 28 7
## [4357] 11 10 16 10 13 12 NA 32 21 35 9 13 16 12 20 7 14 14
## [4375] 16 54 7 13 14 18 9 18 10 16 12 16 17 11 8 9 20 17
## [4393] 10 8 13 11 11 13 9 NA 16 17 20 20 14 8 11 17 24 19
## [4411] 16 9 27 17 18 10 24 10 8 28 23 24 13 19 12 11 18 15

33
## [4429] 14 13 19 9 28 16 18 15 9 14 19 19 21 11 11 12 14 12
## [4447] 22 12 13 20 12 22 22 15 12 16 18 13 16 8 38 12 23 26
## [4465] 43 6 7 8 34 7 20 15 6 46 25 10 10 16 16 15 12 23
## [4483] 29 20 20 12 18 16 9 14 17 18 16 14 12 16 12 12 9 12
## [4501] 10 19 13 15 34 15 23 21 11 9 13 9 15 19 14 13 21 8
## [4519] 15 23 15 9 12 16 16 11 7 13 18 11 22 9 24 13 10 3
## [4537] 5 14 10 9 23 17 11 10 9 8 8 40 16 18 67 16 12 7
## [4555] 8 8 22 14 11 19 10 20 30 22 NA 17 22 9 24 8 8 11
## [4573] 13 32 19 17 30 NA 14 20 9 11 15 24 10 16 14 27 14 5
## [4591] 15 7 27 13 9 11 31 12 15 11 16 13 9 9 14 7 16 12
## [4609] 20 15 25 9 16 8 12 16 18 10 20 10 17 9 16 11 47 14
## [4627] 11 17 19 10 15 15 12 8 10 13 21 21 14 12 17 11 40 21
## [4645] 18 10 19 21 16 14 19 12 8 12 23 20 11 12 8 14 13 15
## [4663] 13 9 20 8 14 12 31 10 17 15 11 43 12 10 6 14 19 11
## [4681] 22 27 11 12 14 12 18 17 15 12 12 18 13 20 8 14 14 23
## [4699] 11 16 18 9 30 14 13 10 13 39 11 11 12 13 15 11 25 11
## [4717] 16 14 13 8 44 12 11 24 15 18 15 13 13 29 17 16 13 7
## [4735] 17 19 7 8 17 17 11 9 34 16 12 12 13 10 11 15 9 15
## [4753] 13 36 NA 8 10 57 12 19 19 14 13 12 22 8 15 11 12 45
## [4771] 14 10 20 13 10 9 28 10 NA 9 26 10 12 14 15 24 12 12
## [4789] 20 13 8 10 11 13 6 14 12 14 11 13 9 26 20 20 16 17
## [4807] 8 23 9 19 15 9 14 24 9 11 14 7 14 28 32 9 10 12
## [4825] 10 10 13 19 9 10 28 19 14 9 14 8 15 9 13 18 10 12
## [4843] 17 22 14 7 16 56 15 12 20 10 19 NA 10 17 35 23 13 16
## [4861] 19 9 13 19 11 13 21 13 20 19 10 20 17 12 10 12 12 17
## [4879] 16 9 13 19 18 17 11 24 7 12 15 12 13 19 28 42 17 14
## [4897] 18 9 17 12 10 18 21 19 12 12 12 14 13 13 35 10 23 14
## [4915] 12 26 31 15 9 NA 8 9 24 19 28 17 14 15 13 9 12 16
## [4933] 19 16 20 8 16 12 27 7 14 18 10 11 12 20 7 13 20 15
## [4951] 10 12 10 11 21 9 18 14 14 14 14 8 10 10 19 15 10 11
## [4969] 15 23 9 10 13 10 12 10 13 19 10 21 18 21 11 13 15 17
## [4987] 12 21 57 19 8 12 9 18 7 14 9 9 7 18 12 13 6 28
## [5005] 12 6 18 26 9 17 8 12 8 21 19 17 17 18 20 9 8 NA
## [5023] 13 9 30 7 14 11 29 15 NA 25 20 30 15 13 13 12 15 10
## [5041] 8 18 8 18 11 10 7 10 10 21 10 21 23 23 11 10 12 17
## [5059] 30 13 6 13 56 19 25 17 13 20 NA 20 13 16 12 8 9 9
## [5077] 11 12 24 11 18 18 12 10 11 8 14 14 8 18 9 20 24 20
## [5095] 44 12 40 16 10 51 12 41 19 22 29 10 12 10 13 11 14 10
## [5113] 14 12 21 11 32 7 10 15 16 20 19 11 11 5 17 28 15 32
## [5131] 18 7 27 11 32 13 11 16 15 16 20 10 26 7 13 25 13 23
## [5149] 13 13 9 25 16 19 18 14 15 14 9 27 12 25 15 17 13 11
## [5167] 19 13 10 22 25 22 18 13 6 12 36 7 17 14 26 16 12 10
## [5185] 14 19 21 10 22 36 NA 22 7 16 8 9 6 27 22 12 23 23
## [5203] 9 8 10 8 13 NA 20 21 12 14 18 12 15 26 21 25 17 16
## [5221] 18 9 25 12 15 16 16 8 13 22 13 9 7 12 23 10 15 7
## [5239] 11 57 11 12 21 13 10 12 18 24 31 10 15 11 11 11 9 24
## [5257] 11 12 16 7 15 22 19 14 16 15 13 12 26 10 19 16 11 28
## [5275] 10 20 22 28 14 13 19 10 9 18 14 19 15 24 21 30 10 16
## [5293] 17 14 18 13 13 8 20 17 13 13 9 24 14 11 12 11 10 8
## [5311] 29 7 15 9 8 10 8 8 11 10 17 16 NA 14 14 11 21 13
## [5329] 20 20 22 20 26 39 19 21 19 10 11 18 10 15 15 14 9 11
## [5347] 11 6 11 13 8 12 15 15 10 9 18 17 8 15 8 9 9 11
## [5365] 32 9 16 30 11 13 19 20 16 17 7 11 7 49 21 11 11 16
## [5383] 12 NA 24 10 20 16 16 31 16 9 17 6 11 15 9 15 23 18

34
## [5401] 15 12 13 12 10 16 12 14 14 11 18 30 16 38 13 17 8 12
## [5419] 8 13 19 13 25 10 25 12 14 16 11 11 18 12 20 8 14 16
## [5437] 8 24 13 26 11 15 21 11 15 19 20 9 24 22 22 12 14 17
## [5455] 11 40 17 12 11 17 16 31 12 19 18 11 15 10 6 21 12 36
## [5473] 18 17 16 8 9 17 9 17 24 17 13 19 9 17 9 13 6 21
## [5491] 22 24 8 13 12 11 9 6 7 14 12 20 12 14 14 13 7 21
## [5509] 8 13 15 21 9 11 15 16 13 11 12 23 33 48 8 16 12 11
## [5527] 5 20 13 17 10 16 16 19 12 11 18 17 11 18 14 17 5 24
## [5545] 6 14 26 12 34 14 NA 36 13 18 15 NA 14 10 16 13 14 11
## [5563] 14 18 15 19 12 14 18 61 8 10 8 9 12 6 14 8 14 22
## [5581] 24 13 14 10 21 15 33 10 NA 12 11 8 17 6 12 20 10 8
## [5599] 18 9 12 10 14 25 11 16 20 10 10 10 10 27 16 25 13 12
## [5617] 46 14 21 11 10 26 25 18 32 16 14 13 26 6 10 16 17 15
## [5635] 20 10 11 28 19 11 6 10 10 16 44 10 11 8 36 18 18 10
## [5653] 10 27 13 11 16 14 22 13 24 17 11 13 10 17 24 11 9 15
## [5671] 11 17 12 17 14 10 11 12 12 17 13 22 24 12 10 11 8 13
## [5689] 9 8 16 19 9 15 6 26 10 14 10 12 11 11 8 11 14 9
## [5707] NA 12 9 19 27 14 13 39 31 18 42 13 11 30 15 22 16 43
## [5725] 15 9 14 17 9 14 14 12 28 9 11 20 21 12 14 21 25 17
## [5743] 12 16 15 16 18 11 35 13 13 27 10 15 12 10 10 20 13 13
## [5761] 15 13 18 13 11 27 12 21 9 28 18 20 15 13 17 21 10 9
## [5779] 26 12 24 13 17 17 16 6 9 14 15 12 21 12 11 17 15 36
## [5797] 35 10 32 15 13 12 21 15 13 17 8 16 6 48 17 12 14 12
## [5815] 12 12 15 21 12

On remarque que si on calcule la moyenne ou toute autre mesure statistique pour une variable contenant
au moins une valeur manquante, on va avoir un affichage NA. Pour remédier à ce problème, il faut d’abord
préciser qu’il faut enlever les valeurs manquantes par l’argument na.rm = TRUE

mean(data$TAXI_OUT, na.rm = TRUE)

## [1] 16.03276

La médiane :

median(data$TAXI_OUT)

## [1] NA

median(data$TAXI_OUT, na.rm = TRUE)

## [1] 14

La variance et l’écart-type :

var(data$TAXI_OUT, na.rm = TRUE)

## [1] 80.48202

35
sd(data$TAXI_OUT, na.rm = TRUE)

## [1] 8.971177

Les quantiles :

Quand on ne précise pas les probabilités, la fonction quantile() calcule les différents quartiles et la valeur
Min et max.

quantile(data$TAXI_OUT, na.rm = TRUE)

## 0% 25% 50% 75% 100%


## 3 11 14 19 134

Pour calculer de différents quantiles, il faut utiliser l’argument probs =

quantile(data$TAXI_OUT, na.rm = TRUE, probs = c(0.35,0.85, 0.95))

## 35% 85% 95%


## 12 22 32

La somme :

sum(data$TAXI_OUT, na.rm = TRUE)

## [1] 92012

On peut utiliser les fonctions de bases colSums() et rowSums() pour calculer la somme de toutes les
colonnes et toutes les lignes d’une matrice ou tableau de données numériques.

data_short <- data[100:120, 13:14]


str(data_short)

## ’data.frame’: 21 obs. of 2 variables:


## $ TAXI_OUT : num 10 21 12 22 12 25 14 8 13 12 ...
## $ WHEELS_OFF: num 600 2049 1030 959 1847 ...

colSums(data_short, na.rm = TRUE)

## TAXI_OUT WHEELS_OFF
## 321 29431

rowSums(data_short, na.rm = TRUE)

## 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
## 610 2070 1042 981 1859 1945 1032 1335 1524 2153 1352 833 948 1564 777 1230
## 116 117 118 119 120
## 734 2152 2063 1678 1870

36
mode(data$YEAR)

## [1] "numeric"

Le mode :

Le logiciel R n’a pas de fonction prédéfinie pour donner le mode d’une variable. Par contre, on peut créer
cette fonction ou utiliser des packages qui offrent une définition du mode.

37

You might also like