Vous êtes sur la page 1sur 21

Faculté des Sciences Ben M’Sik, Université Hassan II-Casablanca

Master Data Sciences & Big Data

Année universitaire : 2019-2020

Professeur Said NOUH


Plan du cours du Langage R
- Initiation
- Perfectionnement
- Statistiques descriptives
- Analyses multivariées
- Régression PLS et spectres
- Programmation sous le langage R

2
Toutes les variables (scalaires, vecteurs, matrices, . . . ) créées dans R sont
appelées des objets. Dans R, on affecte des valeurs aux variables en utilisant
une flèche <- : taper les signes « inférieur » et «moins ». Par exemple on
affectera le résultat du calcul 2×3 à la variable x en utilisant la commande:
x <- 2*3.
Ou aussi x=2*3
Pour examiner le contenu d’un objet quelconque de R il suffit de taper son
nom. Ainsi par exemple pour voir le contenu de x on tapera x et on observera
après avoir validé la commande avec un retour chariot :
[1] 6.

Il existe différents types d’objets dans R, comprenant entre autres des


scalaires, des matrices, des tableaux, des « data frame » (tableaux, similaires
à des matrices, mais dans lesquels les colonnes ne sont pas nécessairement
de même type), des tables et des listes. Dans R, la structure élémentaire
d’objet est le vecteur.
Les nombres décimaux doivent être encodés avec un point décimal, les
chaînes de caractères entourées de guillemets doubles " ", et les valeurs
logiques codées par les valeurs TRUE et FALSE ou leurs abréviations T et F
respectivement. Les données manquantes sont codées par défaut par la
chaîne de caractères NA.
Pour créer un vecteur on peut utiliser la commande c() de concaténation.
Par exemple pour créer un vecteur appelé monvecteur de composantes 8, 6,
9, 10, et 5, on tape :
> monvecteur <- c(8,6,9,10,5)
> monvecteur[c(3,4)]
[1] 9 10
>monvecteur[4]
[1] 10

La syntaxe de base, seq(deb,fin, by=pas), retourne un vecteur de valeurs


allant de deb à fin par valeurs séparées par des multiples de pas.
seq(10,20, by=3)
[1] 10 13 16 19
seq(10,20, length=5)
[1] 10.0 12.5 15.0 17.5 20.0
> v <- rep(5,6)
> print(v)
[1] 5 5 5 5 5 5
À l’opposé d’un vecteur, une liste peut contenir des composantes de type
différents.
>maliste <- list(Master="DSBD", Module="Langages python et R",
c(2017,2018,2019,2020))
> print(maliste)
$`Master` [1] "DSBD"
$Module [1] "Langages python et R"
[[3]] [1] 2017 2018 2019 2020
Un autre type d’objet dans R est une variable de type table.
 table(c("Hajar", "Asmae", "AYOUB", "Abdennacer", "Asmae","AYOUB",
"SARA","Asmae","SARA" ))

Il y a plusieurs solutions pour fabriquer des matrices à partir de vecteurs. L’une


consiste à écrire ses vecteurs ligne ou colonne, puis à les relier horizontalement
ou verticalement par rbind ou cbind. L’autre consiste à écrire tous les
coefficients en un seul vecteur, redimensionné ensuite par la fonction matrix.
Par défaut matrix structure le vecteur des coeffitients verticalement colonne par
colonne. Si on désire un arrangement ligne par ligne il faut appeler la fonction
matrix() avec l’argument byrow=TRUE.
Statistique descriptive
Coefficient de corrélation entre wt et mpg
Programmation sous R

factorielle <-1 for (i in seq(1, 10))


factorielle <- factorielle*i
i <- 10 factorielle <- 1 repeat {
factorielle <- factorielle*i
i <- (i – 1)
if (i == 1) break }
i <- 10
factorielle <- 1
while (i > 1)
{ factorielle <- factorielle*i
i <- (i - 1 ) }
print(i)
Exemple de fonction en R
ma_fonction <- function(arg1, arg2, arg3)
{ # étape de vérification
stopifnot(is.numeric(arg1), is.numeric(arg2), is.numeric(arg3))
a <- arg1 + arg2
res <- a^2 + 2*arg3
return(res) }
puissance <- function(x, type)
{ # verification
stopifnot(is.numeric(x), type %in% c("carree", "cube"))
# conditions
if (type == "carree")
{ x <- x^2 }
else { x <- x^3 }
return(x) }
puissance <- function(x, type)
{ # verification
stopifnot(is.numeric(x), type %in% c("carree", "cube"))
# conditions
if (type == "carree")
{ x <- x^2 }
else { x <- x^3 }
return(x) }
myFunc <- function(a, b, c, borne = c(-10, 10), ...)
{ x <- seq(borne[1], borne[2], 0.1)
plot(x, a*x^2 + b*x + c, ...) }

myFunc(1, 1, 1, main = "Graphique", type = "l", col = "red")


prix_apres_taxe <- function(prix_HT, type)
{ # verification
stopifnot(is.numeric(prix_HT), type %in%
c("normal", "intermediaire", "reduit"))
# calcul du prix selon le type
if (type == "normal"){ prix <- prix_HT*1.2 }
else { if(type == "intermediaire")
{ prix <- prix_HT*1.1 }
else { prix <- prix_HT*1.055 } }
# le resultat à retourner
return(prix) }

Vous aimerez peut-être aussi