R revision
ELIE KOULDJIM
2024-12-25
Chapitre 1: Présentation du langage R
Rappel des notions
Le package dplyr est utilisé pour la manipulation des données.
library(dplyr)
## Warning: le package ’dplyr’ a été compilé avec la version R 4.3.3
##
## Attachement du package : ’dplyr’
## Les objets suivants sont masqués depuis ’package:stats’:
##
## filter, lag
## Les objets suivants sont masqués depuis ’package:base’:
##
## intersect, setdiff, setequal, union
Ecriture des scripts sur R en creant des nombres ou des fonctions
Lois de poissons de parametre λ = 10
x <- 10
poiss= 10ˆx * exp(-10) / factorial(x)
poiss
## [1] 0.12511
Petite fonction qui calcule le double
double<- function(x){
return(xˆ2)
}
double(4)
1
## [1] 16
Générer deux vecteurs de nombres pseudo-aléatoires issus d’une loi normale centrée réduite.
x=rnorm(30)
y=rnorm(x)
x;y
## [1] -0.009466510 -0.361552856 -0.445845584 1.404880347 -0.002213923
## [6] 0.562903079 0.127516322 0.485268018 -0.309888554 1.701013606
## [11] -1.894379813 -0.910027552 0.132603548 -0.813269348 0.258959444
## [16] -1.031015858 0.182979839 0.390058188 -0.326049684 -1.227087573
## [21] -0.913922007 1.605951397 0.015876858 -0.684804961 -0.368709215
## [26] 0.887659059 -0.875370813 -0.179350118 -1.455018431 -0.840662860
## [1] -0.52694868 0.05033291 -1.22100327 0.09202238 -0.43902119 0.50824079
## [7] -2.33896338 -1.03817718 0.22711921 -0.29052194 0.53032258 0.83137009
## [13] 2.33142393 0.32690361 -1.03848731 -0.91572273 -0.68570091 -0.18828207
## [19] 0.32629635 0.38001882 -0.32793306 -1.93548327 -0.26524337 0.48653422
## [25] -0.99184987 1.27284602 1.45917214 0.67742177 0.89783208 2.10987114
plot(x,y)
2
1
0
y
−1
−2
−2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
2
plot(density(x))
density(x = x)
0.4
0.3
Density
0.2
0.1
0.0
−3 −2 −1 0 1 2 3
N = 30 Bandwidth = 0.3653
Generer la suite 1, 2 , 3 à 10
1:10
## [1] 1 2 3 4 5 6 7 8 9 10
seq(1,10,1) # ou encore
## [1] 1 2 3 4 5 6 7 8 9 10
seq(from=1,length=10)
## [1] 1 2 3 4 5 6 7 8 9 10
## la fonction seq sert à generer des suite de facon générale
seq(from= -5,to =10, by=3) # génère des nombres de -5 à 10 en sautant à 3.
## [1] -5 -2 1 4 7 10
3
seq(from=-5, length=10)
## [1] -5 -4 -3 -2 -1 0 1 2 3 4
Utilisation de la fonction rep qui sert à repeter les choses
## repeter 5 fois 1
rep(1,5)
## [1] 1 1 1 1 1
rep(1:5,5) ## repeter 1,2,3,4,5 pendant 5 fois
## [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
rep(1:5, each=5) # repeter chaque élement 5 fois
## [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5
## initialisation d'un vecteur
v=1:12
# ajout de chaque element 2
v+2
## [1] 3 4 5 6 7 8 9 10 11 12 13 14
# chaque élément produit par -12:-1
v*-12:-1
## [1] -12 -22 -30 -36 -40 -42 -42 -40 -36 -30 -22 -12
v+1:3
## [1] 2 4 6 5 7 9 8 10 12 11 13 15
Gestion des matrices
m<-matrix(1:12,nrow=3,ncol=4,byrow=FALSE)
m
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
4
m+2
## [,1] [,2] [,3] [,4]
## [1,] 3 6 9 12
## [2,] 4 7 10 13
## [3,] 5 8 11 14
rowSums(m)
## [1] 22 26 30
colSums(m)
## [1] 6 15 24 33
Éliminer la quatrième colonne afin d’obtenir une matrice
m[,1:3] ## Ou encore
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
m[,-4]
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
Chapitre 2 : Les base du R
Les objets de R
La fonction is.na()
x=letters[-1:-4]
x
## [1] "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w"
## [20] "x" "y" "z"
y=NA
is.na(x)
## [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
5
is.na(y)
## [1] TRUE
Les attributs d’un objet sont des éléments d’information additionnels liés à cet objet
#La généralisation d’une matrice à plus de deux dimensions est un tableau (array).
(m=matrix(1:9,nrow=3,ncol=3))
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
(tableau=array(1:36,c(3,3,4)))
## , , 1
##
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
##
## , , 2
##
## [,1] [,2] [,3]
## [1,] 10 13 16
## [2,] 11 14 17
## [3,] 12 15 18
##
## , , 3
##
## [,1] [,2] [,3]
## [1,] 19 22 25
## [2,] 20 23 26
## [3,] 21 24 27
##
## , , 4
##
## [,1] [,2] [,3]
## [1,] 28 31 34
## [2,] 29 32 35
## [3,] 30 33 36
selection des éléments
m[1,3]# element premier ligne 3e colonne
## [1] 7
6
m[2,2] # élt de 2e ligne 2e colonne
## [1] 5
m[,1] # élement de 1er colonne
## [1] 1 2 3
m[1,] # element 1ere ligne
## [1] 1 4 7
m[3]
## [1] 3
Utilisation de Rbind et cbind
m=matrix(1:4,2,2)
m
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
n=matrix(5:8,2,2)
n
## [,1] [,2]
## [1,] 5 7
## [2,] 6 8
(c=cbind(m,n))
## [,1] [,2] [,3] [,4]
## [1,] 1 3 5 7
## [2,] 2 4 6 8
(r=rbind(m,n))
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
## [3,] 5 7
## [4,] 6 8
7
# créer une chaine de caractère vide de taille 5
c<-character(5)
c
## [1] "" "" "" "" ""
creation d’un dataframme à partir
(base=data.frame(id=1:5,nom=c("Elie","Petronie","Elise","Manu","Xavi"),note=c(16,18,15,20,17)))
## id nom note
## 1 1 Elie 16
## 2 2 Petronie 18
## 3 3 Elise 15
## 4 4 Manu 20
## 5 5 Xavi 17
mention=c("tresBien","excellent","Bien","Bravo","tresbien")
genre=c("M","F","F","F","M")
##Ajout de colonne à la base
base=cbind(base,mention,genre)
base
## id nom note mention genre
## 1 1 Elie 16 tresBien M
## 2 2 Petronie 18 excellent F
## 3 3 Elise 15 Bien F
## 4 4 Manu 20 Bravo F
## 5 5 Xavi 17 tresbien M
# création de liste
(maliste=list(id=1:5,nom=c("Elie","Petronie","Elise","Manu","Xavi"),note=c(16,18,15,20,17),mention,genre
## $id
## [1] 1 2 3 4 5
##
## $nom
## [1] "Elie" "Petronie" "Elise" "Manu" "Xavi"
##
## $note
## [1] 16 18 15 20 17
##
## [[4]]
## [1] "tresBien" "excellent" "Bien" "Bravo" "tresbien"
##
## [[5]]
## [1] "M" "F" "F" "F" "M"
8
les elements d’une liste
maliste[[1]]
## [1] 1 2 3 4 5