R est sensible à la casse
## [1] 40
## [1] 30
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
Définition d’un objet
## [1] "numeric"
## [1] 4
cars
## 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
head(cars, n=3L)
## speed dist
## 1 4 2
## 2 4 10
## 3 7 4
length(cars)
## [1] 2
mode(cars)
## [1] "list"
v1 <- c("modelisation")
mode(v1)
## [1] "character"
v3 <- "modelisation"
mode (v3)
## [1] "character"
v2 <- c("m","o","d","ell","l","i","s","a","t","i","o","n")
mode(v2)
## [1] "character"
length(v1)
## [1] 1
length(v2)
## [1] 12
nchar(v1)
## [1] 12
nchar(v2) #donne le nbre de caractère de chaque chaîne constituant le vecteur; le nombre de lettres
## [1] 1 1 1 3 1 1 1 1 1 1 1 1
nchar(v3)
## [1] 12
is.null(v1) #Teste si le vecteur v1 est un contenant nul ou pas
## [1] FALSE
v <- c(1,2,5,8)
mode (v)
## [1] "numeric"
length(v)
## [1] 4
x<-c(1,4,9) #Définition d'un vecteur
y<-c(x,2,3)
y
## [1] 1 4 9 2 3
Dans cette partie, on s’interesse à la syntaxe des matrices sur R.
Remplissage par colonne
w <- matrix(c(2,3,5,7,11,13),ncol=2)
w
## [,1] [,2]
## [1,] 2 7
## [2,] 3 11
## [3,] 5 13
Par défaut, le remplissage d’une matrice se fait par colonne
Remplissage par ligne
M <- matrix(c(2,3,5,7,11,13),ncol=2, byrow=T)
M
## [,1] [,2]
## [1,] 2 3
## [2,] 5 7
## [3,] 11 13
Autres calculs
vect <- c(2.5:10.5)#un vecteur dont les éléments sont incrémentés entre 2.5 et 10.5
vect
## [1] 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 10.5
mat <- matrix(vect,ncol=3,nrow=3) #une matrice formée à partir des éléments de "vect"
mat
## [,1] [,2] [,3]
## [1,] 2.5 5.5 8.5
## [2,] 3.5 6.5 9.5
## [3,] 4.5 7.5 10.5
Extraction des éléments d’une matrice et d’un vecteur
vect <- c(2.5:10.5)
mat <- matrix(vect,ncol=3,nrow=3)
v <- vect[c(2,4,8)] #Extraire les éléments n° 2,4 et 8 de "vect"
mat1 <- mat[2:3,c(1,3)] #Extraire les éléments de la ligne 2 et 3, et de la colonne 1 et 3 de "mat"
mat2 <- mat[c(1,3),c(1,3)] #Extraire les éléments de la ligne 1 et 3, et de la colonne 1 et 3 de "mat"
v8 <- vect[vect>8] #Extraire les éléments de "vect" >8
v82 <- vect[(vect>=8.5) | (vect<3)] #Extraire les éléments de "vect" >= 8 ou <3
v810 <- vect[(vect>8) & (vect<10)] #Extraire les éléments de "vect" > 8 ou <10
#Affichage des résultats
v
## [1] 3.5 5.5 9.5
v8
## [1] 8.5 9.5 10.5
v82
## [1] 2.5 8.5 9.5 10.5
v810
## [1] 8.5 9.5
mat1
## [,1] [,2]
## [1,] 3.5 9.5
## [2,] 4.5 10.5
mat2
## [,1] [,2]
## [1,] 2.5 8.5
## [2,] 4.5 10.5
Quelques fonctions sur les matrices
vect <- c(2.5:10.5)
mat <- matrix(vect,ncol=3,nrow=3)
Slign <- apply(mat,1,sum) #Somme des éléments de "mat" par ligne
Scol <- apply(mat,2,sum) #Somme des éléments de "mat" par colonne
m <- t(mat)
#Affichage des résultats
mat
## [,1] [,2] [,3]
## [1,] 2.5 5.5 8.5
## [2,] 3.5 6.5 9.5
## [3,] 4.5 7.5 10.5
m
## [,1] [,2] [,3]
## [1,] 2.5 3.5 4.5
## [2,] 5.5 6.5 7.5
## [3,] 8.5 9.5 10.5
Slign
## [1] 16.5 19.5 22.5
Scol
## [1] 10.5 19.5 28.5
Opérations sur les matrices
x=c(1:5)
y=c(rep(0,3),rep(1,2))
N <- c(1:3)
mat3 <- matrix(N,ncol=3,nrow=3)
vect <- c(2.5:10.5)
mat <- matrix(vect,ncol=3,nrow=3)
z <- x*y #Produit des vecteurs x et y
mat4 <- mat%*% mat3 #produit matriciel entre mat et mat3
mat5 <- mat*mat3 #produit par éléments entre mat et mat3
#Affichage des résultats
x;y;z;mat;mat3;mat4;mat5
## [1] 1 2 3 4 5
## [1] 0 0 0 1 1
## [1] 0 0 0 4 5
## [,1] [,2] [,3]
## [1,] 2.5 5.5 8.5
## [2,] 3.5 6.5 9.5
## [3,] 4.5 7.5 10.5
## [,1] [,2] [,3]
## [1,] 1 1 1
## [2,] 2 2 2
## [3,] 3 3 3
## [,1] [,2] [,3]
## [1,] 39 39 39
## [2,] 45 45 45
## [3,] 51 51 51
## [,1] [,2] [,3]
## [1,] 2.5 5.5 8.5
## [2,] 7.0 13.0 19.0
## [3,] 13.5 22.5 31.5
Les facteurs / Variables qualitatives
# Cas 1
l <- c(1,2,3)
f <- as.factor(l) #Crée le facteur "f" (variable qualitative)
f #Affiche le facteur "f" et précise ses modalités
## [1] 1 2 3
## Levels: 1 2 3
is(f) #Question??
## [1] "factor" "integer" "oldClass"
## [4] "double" "numeric" "vector"
## [7] "data.frameRowLabels"
is.factor(f) #Teste si "f" est un facteur
## [1] TRUE
levels(f) #Affiche les modalités du facteur "f"
## [1] "1" "2" "3"
# Cas 2
state <- c("tas", "sa", "qld", "nsw", "nsw", "nt", "wa", "wa",
"qld", "vic", "nsw", "vic", "qld", "qld", "sa", "tas",
"sa", "nt", "wa", "vic", "qld", "nsw", "nsw", "wa",
"sa", "act", "nsw", "vic", "vic", "act")
statef <- factor(state) #Crée le facteur "statef"
statef #Affiche le facteur "statef" et précise ses modalités
## [1] tas sa qld nsw nsw nt wa wa qld vic nsw vic qld qld sa tas sa nt wa
## [20] vic qld nsw nsw wa sa act nsw vic vic act
## Levels: act nsw nt qld sa tas vic wa
levels(statef) #Affiche les modalités du facteur "statef"
## [1] "act" "nsw" "nt" "qld" "sa" "tas" "vic" "wa"
revenus <- c(60, 49, 40, 61, 64, 60, 59, 54, 62, 69, 70, 42, 56,
61, 61, 61, 58, 51, 48, 65, 49, 49, 41, 48, 52, 46,
59, 46, 58, 43)
revenus_moyenne<- tapply(revenus, statef, mean)
revenus_variance<- tapply(revenus, statef, var)
revenus_moyenne;revenus_variance; #Affichage de résultats
## act nsw nt qld sa tas vic wa
## 44.50000 57.33333 55.50000 53.60000 55.00000 60.50000 56.00000 52.25000
## act nsw nt qld sa tas vic wa
## 4.5000 111.4667 40.5000 84.3000 30.0000 0.5000 137.5000 28.2500
Les listes
rdn=list(serie=c(1:100),taille=100,type="arithm") #Créer une liste dénommée "rnd"
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.