Nomination des variables

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

Les objets

Définition d’un objet

## [1] "numeric"
## [1] 4
Utilisation de la BD cars
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"
Longueur d’une chaîne de caractère
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
Calculs sur les objets
v <- c(1,2,5,8)
mode (v)
## [1] "numeric"
length(v)
## [1] 4
Les vecteurs
x<-c(1,4,9) #Définition d'un vecteur
y<-c(x,2,3)
y
## [1] 1 4 9 2 3

Les matrices

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"

Including Plots

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.