Analyse Statistique avec R-Données dans R
T.Mellah
11 octobre 2021
Contents
1 Données dans R
1.1 Nature des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Numeric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3 Logical (booléen ou logique) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.4 Non available data (NA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.5 Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.6 Raw ( données brutes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Objets dans R: Structure des données
1
1
1
1
2
3
3
4
4
1 Données dans R
1.1 Nature des données
Les fonctions mode() et typeof() permettent de gérer le type de données. Les données peuvent être de
différents types: numeric (integer & real or double),complex,logical, character, raw;
1.1.1 Numeric
Il y a deux types numériques : les entiers (integer) et les réels (real
#ou double).
a<-1
b<-2.5
Advertisement
c<-as.integer(a) # Les instructions commençant par as. sont très courantes
#en R pour convertir une donnée en un type différent.
typeof(c)
[1] "integer"
typeof(b)
[1] "double"
typeof(a)
[1] "double"
1.1.2 Complex
1
On utilise les fonctions Re() pour la partie réelle, lm () pour la partie
#imaginaire
1i
[1] 0+1i
z <- 1+2i
typeof(z)
[1] "complex"
is.complex(z) # Permet de savoir si un objet est du type complexe
[1] TRUE
Re(z)
[1] 1
Im(z)
[1] 2
1.1.3 Logical (booléen ou logique)
#Le type logical, résultat d'une condition logique, peut prendre les
#valeurs TRUE ou FALSE.
b>a
[1] TRUE
a==b
[1] FALSE
is.numeric(a)
[1] TRUE
Advertisement
is.integer(a)
[1] FALSE
x<-TRUE
is.logical(x)
[1] TRUE
#Lorsque cela se révèle éncessaire, ce type de données est naturellement
#converti en type numérique sans qu'il y ait à le spécifier : TRUE vaut 1
#et FALSE vaut O. Cela est illustré par l'exemple suivant:
TRUE + T + FALSEF + TFALSE + F
[1] 2
2
1.1.4 Non available data (NA)
#Plusieurs fonctions existent pour gérer les données manquantes ou non
#définies. R considère ce type de données comme étant une valeur logique
#constante.
x <- c(3,NA,6)
is.na(x)
[1] FALSE TRUE FALSE
mean(x) # Tentative de calcul de la moyenne de x.
[1] NA
mean(x,na.rm=TRUE) # Le paramètre na.rm signifie enlever les NA (NA.remove) .
[1] 4.5
1.1.5 Character
#Toute information mise entre guillemets (simple ' ou double ")
#correspond à une chaîne de caractères :
a <- "R est mon ami"
mode(a)
[1] "character"
is.character(a)
[1] TRUE
Conversion d'un type à un autre sont aussi possibles
as.character(2.3)# Conversion vers une chaîne decaractères .
Advertisement
[1] "2.3"
b <- "2.3"
as.numeric(b) # Conversion depuis une chaîne de caractères.
[1] 2.3
as.integer("3.4")# Conversion depuis une chaîne de caractères
[1] 3
c(2, "3") # Conversion automatique.
[1] "2" "3"
as.integer ("3.quatre" ) # Conversion impossible.
Warning: NAs introduits lors de la conversion automatique
[1] NA
3
1.1.6 Raw ( données brutes)
R offre la possibilité de travailler directement avec des octets
#(affichés sous forme hexadécimale).
#Cela peut parfois être utile lors de la lecture de certains fichiers au
#format binaire
x <- as.raw(c(10,15,9,11))
x
[1] 0a 0f 09 0b
mode(x)
[1] "raw"
1.2 Objets dans R: Structure des données
R permet d’organiser les différents types de données définies précédemment en différents types de structure.
Anisi dans R les objets peuvent être vector, matrix, array, list, data frame. La fonction class() permet
d’accéder aux différents types de structure.
Exemples sur vecteur
c(3,1,7)
[1] 3 1 7
c(3,TRUE,7)
[1] 3 1 7
c(3,T,"7")
Advertisement
[1] "3"
"TRUE" "7"
seq(from=0,to=1,by=0.1)
[1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
seq(from=0,to=20,length=5)
5 10 15 20
[1] 0
vec <- 2:36
vec
[1] 2 3 4
[24] 25 26 27 28 29 30 31 32 33 34 35 36
6 7
5
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
is.vector(vec)
[1] TRUE
x<-1:3
x
[1] 1 2 3
y<- c(1,2,3)
y
[1] 1 2 3
4
class(x)
[1] "integer"
class(y)
[1] "numeric"
5