Professional Documents
Culture Documents
avec R
par Kapo Martin Coulibaly, PhD
Logiciel Libre
Logiciel de Calculs Statistiques
Langage de Programmation
Systme d'analyse et de Manipulation de
Donnes
2
Brve Histoire de R
Comment Obtenir R
http://www.r-project.org/
Caractristiques Gnrale de R
Lignes de commandes
Interface graphique limite
Les commandes sont organise par librairies
Les librairies Base, Utils, Stat,
Stat2,Graphics sont charges par dfaut
Il existe un trs grand nombre de librairies
spcialises et gratuites.
6
Commande
(paramtre1=valeur,paramtre2=valeur,...)
Lassignement des valeurs se fait avec le signe
<- ou ->
Les comparaisons == pour gal, >= et <=
sont explicites
La plupart des commandes sont des fonctions
crites galement avec le langage R
Vecteur
Matrice
Variable Multi-Dimensionnelles (Array)
Tableau de Donnes (Data Frame)
List
8
Cration de Donnes
> ### Creation de vecteur
> vect1<-c(1,4.5,9,34,4.5)
> vect1
[1] 1.0 4.5 9.0 34.0 4.5
> vect2<-5:15
> vect2
[1] 5 6 7 8 9 10 11 12 13 14 15
9
Cration de Vecteur
> vect3<-vector()
> vect3
logical(0)
> vect3[1]<-4
> vect3
[1] 4
10
> mat1[1,4]
[1] 40
> mat1[1,4]<-38
> mat1
[,1] [,2] [,3] [,4]
[1,] 1 10 4 38
[2,] 2 20 5 50
[3,] 3 30 6 60
12
Creation de Liste
> L1
[[1]]
[1] "UAA"
[[2]]
[1] 1992
[[3]]
[1] 5000
[[5]]
[1] "banane"
[[6]]
[,1] [,2] [,3] [,4]
[1,] 1 10 4 38
[2,] 2 20 5 50
[3,] 3 30 6 60
[[4]]
[1] "Nom"
15
Importation de donnes
Nombreuses commandes
disponibles
Nous couvrirons 3 commandes:
- Read.table
- Read.csv
- scan
17
Read.table
Test.txt
Age Poids
12
60
14
63
18
70
10
55
5
30
8
40
Taille
155
175
165
145
110
130
18
Read.table
> df<-read.table("test.txt",sep="",header=TRUE)
> df
Age Poids Taille
1 12 60 155
2 14 63 175
3 18 70 165
4 10 55 145
5 5 30 110
6 8 40 130
19
Test2.txt
0 0
30 0.003
60 -0.02
90 -0.002
120 0.005
150 0.008
180 0.002
210 -0.008
240 -0.002
270 0.955
300 0.787
330 0.389
20
> df2<-read.table("test2.txt",header=FALSE,sep="",skip=0)
> df2[1:10,]
V1 V2
1 0 0.000
2 30 0.003
3 60 -0.020
4 90 -0.002
5 120 0.005
6 150 0.008
7 180 0.002
8 210 -0.008
9 240 -0.002
10 270 0.955
21
Commande scan
Commande scan
> L1<-scan("L1.txt",what=character())
Read 8 items
> L1
[1] "UAA" "10"
"34"
"UC"
"423" "koffi" "kouadio" "1960"
24
Commande scan
> L2<-scan("L2.txt",what=numeric())
Read 23 items
> L2
[1] 12 45 43 23 98 7 8 6 12 87 34 56
67 54 30 12 65 43 89 7 8 90 54
25
26
Exemple de Session de R
27
Exemple de Session de R
Sauver la session
- File Save workspace
On peut sauver la liste des commandes
-File Save history
Equivalent commande des etapes
precedentes
- setwd(c:\....)
- save.image(c:\....)
28
Accder a l'aide
Aller a Help Html Help Packages
29
Accder a l'aide
30
Accder a l'aide
31
33
35
36
Commandes Gnrales
mean(x)
sum(x)
max(x)
min(x)
rowMeans(x)
colMeans
length(x)
min(x)
sd(x)
var(x)
dim(x)
rowSums
37
Exemple (dim)
>A
[,1] [,2] [,3] [,4]
[1,] 1 10 4 38
[2,] 2 20 5 50
[3,] 3 30 6 60
> dim(A)
[1] 3 4
38
Exemple (length)
> vect2
[1] 5 6 7 8 9 10 11 12 13 14
15
> length(vect2)
[1] 11
39
Manipulation de Donnees
> ls()
[1] "A" "df" "df2" "donn1" "L1"
"vect1" "vect2"
> df
Age poids taille
1 12 60 155
2 14 63 175
3 18 70 165
4 10 55 145
5 5 30 110
6 8 40 130
"L2"
"mat1"
40
Manipulation de Donnees
> df$Age
[1] 12 14 18 10 5 8
> df[,3]
[1] 155 175 165 145 110 130
> df$
[1] 155 175 165 145 110 130
41
Manipulation de Donnees
> df[,2:3]
poids taille
1 60 155
2 63 175
3 70 165
4 55 145
5 30 110
6 40 130
42
Manipulation de Donnees
> df[,c("poids","taille")]
poids taille
1 60 155
2 63 175
3 70 165
4 55 145
5 30 110
6 40 130
43
Manipulation de Donnes
> df[1:3,]
Age poids taille
1 12 60 155
2 14 63 175
3 18 70 165
44
Manipulation de Donnees
> df[-1,]
Age poids taille
2 14 63 175
3 18 70 165
4 10 55 145
5 5 30 110
6 8 40 130
45
Manipulation de Donnees
> df[-2,]
Age poids taille
1 12 60 155
3 18 70 165
4 10 55 145
5 5 30 110
6 8 40 130
46
Manipulation de Donnees
> df[,-1]
poids taille
1 60 155
2 63 175
3 70 165
4 55 145
5 30 110
6 40 130
47
Manipulation de Donnes
> vect2
[1] 5 6 7 8 9 10 11 12 13 14 15
> vect2[4:8]
[1] 8 9 10 11 12
> vect2[-2:-4]
[1] 5 9 10 11 12 13 14 15
> which(vect2>10)
[1] 7 8 9 10 11
48
Manipulation de Donnes
> vect1
[1] 1.0 4.5 9.0 34.0 4.5
> which(vect1>10)
[1] 4
> which.max(vect1)
[1] 4
> which.min(vect1)
[1] 1
49
Manipulation de Donnes
> sort(vect1)
[1] 1.0 4.5 4.5 9.0 34.0
> rev(sort(vect1))
[1] 34.0 9.0 4.5 4.5 1.0
> 2*vect1
[1] 2 9 18 68 9
50
Manipulation de Donnes
>A
[,1] [,2] [,3] [,4]
[1,] 1 10 4 38
[2,] 2 20 5 50
[3,] 3 30 6 60
> t(A)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 10 20 30
[3,] 4 5 6
[4,] 38 50 60
51
Manipulation de Donnes
>A
[,1] [,2] [,3] [,4]
[1,] 1 10 4 38
[2,] 2 20 5 50
[3,] 3 30 6 60
> c(A)
[1] 1 2 3 10 20 30 4 5
6 38 50 60
> matrix(A,ncol=4)
[,1] [,2] [,3] [,4]
[1,] 1 10 4 38
[2,] 2 20 5 50
[3,] 3 30 6 60
52
Selection de Commandes
>A
[,1] [,2] [,3] [,4]
[1,] 1 10 4 38
[2,] 2 20 5 50
[3,] 3 30 6 60
> a1<-A[1,]; a2<-A[3,]
> cbind(a1,a2)
a1 a2
[1,] 1 3
[2,] 10 30
[3,] 4 6
[4,] 38 60
53
Selection de Commandes
> rbind(a1,a2)
[,1] [,2] [,3] [,4]
a1 1 10 4 38
a2 3 30 6 60
> seq(1,10,by=0.5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5
5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0
9.5 10.0
54
Selection de Commandes
> seq(1,10,length=5)
[1] 1.00 3.25 5.50 7.75 10.00
> seq(1,20,by=4)
[1] 1 5 9 13 17
55
Selection de Commandes
> seq(0,10,2)->x
> seq(0,10,2)->y
> expand.grid(x,y)
Var1 Var2
1 0 0
2 2 0
3 4 0
4 6 0
5
6
7
8
9
10
11
12
13
14
15
8 0
10 0
0 2
2 2
4 2
6 2
8 2
10 2
0 4
2 4
56
Selection de Commandes
> df
Age poids taille
1 12 60 155
2 14 63 175
3 18 70 165
4 10 55 145
5 5 30 110
6 8 40 130
> subset(df,Age>10)
Age poids taille
1 12 60 155
2 14 63 175
3 18 70 165
57
Selection de Commandes
> df
Age poids taille
1 12 60 155
2 14 63 175
3 18 70 165
4 10 55 145
5 5 30 110
6 8 40 130
58
Selection de Commandes
> df
Age poids taille
1 12 60 155
2 14 63 175
3 18 70 165
4 10 55 145
5 5 30 110
6 8 40 130
59
Selection de Commandes
> df[order(df$Age),]
Age poids taille
5 5 30 110
6 8 40 130
4 10 55 145
1 12 60 155
2 14 63 175
3 18 70 165
60