Sie sind auf Seite 1von 57

Introduction au Traitement de Donnes

avec R

Quest-ce que cest que R?

Logiciel Libre
Logiciel de Calculs Statistiques
Langage de Programmation
Systme d'analyse et de Manipulation de
Donnes

Brve Histoire de R

Cr par Ross Ihaka et Robert Gentleman

(Professeurs de Statistiques en Nouvelle


Zlande) en 1997
Largement inspir dun autre langage de
statistique appel S
De nos jours le dveloppement et la maintenance
de R sont assurs par le Core Development
Team de R

Comment Obtenir R

http://www.r-project.org/

Interface Graphique (Windows)

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.

Format des commandes

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

Structure des Donnes

Vecteur
Matrice
Variable Multi-Dimensionnelles (Array)
Tableau de Donnes (Data Frame)
List

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

Cration de Vecteur

> vect3<-vector()
> vect3
logical(0)
> vect3[1]<-4
> vect3
[1] 4

Creation et Manipulation de Matrice


>#Creation de Matrice
> mat1<-matrix(c(1,2,3,10,20,30,4,5,6,40,50,60),
> nrow=3,ncol=4)
> mat1
[,1] [,2] [,3] [,4]
[1,] 1 10 4 40
[2,] 2 20 5 50
[3,] 3 30 6 60
> mat1[2,2]
[1] 20

Creation et Manipulation de Matrice

> 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

Creation de Tableau de Donnes

> donn1<-data.frame()
> fix(donn1)
var1 var2
1 23 54
2 12 67
3 14 32
1 32 12

Creation de Liste de Donnes

>## Creation de listes


>A<-mat1
> L1<list("UAA",1992,5000,"Nom","banane",A)
> L1[[6]]
[,1] [,2] [,3] [,4]
[1,] 1 10 4 38
[2,] 2 20 5 50
[3,] 3 30 6 60

Creation de Liste
> L1
[[1]]
[1] "UAA"
[[2]]
[1] 1992
[[3]]
[1] 5000
[[4]]
[1] "Nom"

[[5]]
[1] "banane"
[[6]]
[,1] [,2] [,3] [,4]
[1,] 1 10 4 38
[2,] 2 20 5 50
[3,] 3 30 6 60

Importation de donnes

R Importe dautre formats de logiciels


statistiques (SPSS, SAS, )
Importe galement les fichiers texte
(ASCII) avec sparateurs
Le format ASCII est le format de choix
Limport de fichiers est la forme la plus
commune de cration de donne dans R

Lecture de fichiers texte

Nombreuses commandes
disponibles
Nous couvrirons 3 commandes:
- Read.table
- Read.csv
- scan

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

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

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

> 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

Commande scan

Permet de lire un vecteur ou une liste


Lit un fichier ou des entres clavier
Les donnes peuvent tre organises de
faon varie (colonnes, longue ligne )

Exemple de Fichiers Textes


L1.txt
UAA 10 34 UC 423 koffi kouadio 1960
L2.txt
12 45 43 23 98 7 8 6 12 87 34 56 67 54 30
12 65 43 89 7 8 90 54

Commande scan

> L1<-scan("L1.txt",what=character())
Read 8 items
> L1
[1] "UAA" "10"
"34"
"UC"
"423" "koffi" "kouadio" "1960"

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

Quelques options de scan

scan(file = "", what = double(0), n = -1, sep =


"", dec = ".", skip = 0, nlines = 0, na.strings =
"NA")

Exemple de Session de R

Changer de rpertoire par dfaut


- File Change Dir.
Lister les fichiers du rpertoire avec la
commande: dir()
Utiliser les commandes de lecture (read.table,
read.csv, etc) pour importer les donnes

Exemple de Session de R

Sauver la session
- File Save workspace
On peut sauver la liste des commandes
-File Save history
Equivalent commande des etape precedentes
- setwd(c:\....)
- save.image(c:\....)

Accder a l'aide
Aller a Help Html Help Packages

Accder a l'aide

Accder a l'aide

Ecrire des Fichiers


> write.table(df,file="test.txt",sep=" ")
"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

Ecrire des Fichiers


> write.table(df,file="test.txt",sep="
,row.names=FALSE)
"Age" "poids" "taille"
12 60 155
14 63 175
18 70 165
10 55 145
5 30 110
8 40 130

Commandes Gnrales

mean(x)
sum(x)
max(x)
min(x)

length(x)
min(x)
sd(x)
var(x)
dim(x)

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

Exemple (length)

> vect2
[1] 5 6 7 8 9 10 11 12 13 14
15
> length(vect2)
[1] 11

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"

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

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

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

Manipulation de Donnes

> df[1:3,]
Age poids taille
1 12 60 155
2 14 63 175
3 18 70 165

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

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

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

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

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

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

Manipulation de Donnes

Selection de Commandes

Traitement de Chaines de Caracteres


Les chaines de caracteres peuvent etre des nombres ou des
chiffres
> ch1<-"12345"
> is.character(ch1)
[1] TRUE
> is.numeric(ch1)
[1] FALSE
> ch2<-as.numeric(ch1)
> ch2
[1] 12345
> is.numeric(ch2)
[1] TRUE

Traitement de Chaines de Caracteres

> ch3<-"abcd"
> ch4<-as.numeric(ch3)
Warning message:
NAs introduced by coercion
> ch4<-toupper(ch3)
> ch4
[1] "ABCD"

Traitement de Chaines de Caracteres


> nom<-"felix_houphouet_boigny"
> substring(nom,1,5)
[1] "felix"
> strsplit(nom,"_")->nom1
> nom1
[[1]]
[1] "felix" "houphouet" "boigny"

Traitement de Chaines de Caracteres

> nom2<-nom1[[1]]
> nom2
[1] "felix" "houphouet" "boigny"
> paste(nom2[1],nom2[2],sep=" ")->nom3
> nom3
[1] "felix houphouet"

Traitement de Chaines de Caracteres

> nom3<-paste(nom3,nom2[3],sep="
")
> nom3
[1] "felix houphouet boigny
> nchar(nom3)
[1] 22

Traitement de Chaines de Caracteres

> nom
[1] "felix_houphouet_boigny"
> gsub("_"," ",nom)
[1] "felix houphouet boigny"