Accéder au contenu principal
Documents
Partager
LinkedIn
Facebook
Twitter
Copy
R DocumentationEntrée de données en RGestion des données en RGraphiques en RR InterfaceStatistiques en R

Types de données dans R

R dispose d'une grande variété de types de données, notamment les scalaires, les vecteurs (numériques, de caractères, logiques), les matrices, les cadres de données et les listes.

Vecteurs

a <- c(1,2,5.3,6,-2,4) # numeric vector
b <- c("one","two","three") # character vector
c <- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE) #logical vector

Faites référence aux éléments d'un vecteur à l'aide d'indices.

a[c(2,4)] # 2nd and 4th elements of vector

Matrices

Toutes les colonnes d'une matrice doivent avoir le même mode (numérique, caractère, etc.) et la même longueur. Le format général est le suivant

mymatrix <- matrix(vector, nrow= r, ncol= c, byrow= FALSE, dimnames=list( char_vector_rownames, char_vector_colnames))

byrow=TRUE indique que la matrice doit être remplie par des lignes. byrow=FALSE indique que la matrice doit être remplie par des colonnes (par défaut). dimnames fournit des étiquettes facultatives pour les colonnes et les lignes.

# generates 5 x 4 numeric matrix
y<-matrix(1:20, nrow=5,ncol=4)

# another example
cells <- c(1,26,24,68)
rnames <- c("R1", "R2")
cnames <- c("C1", "C2")
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,
  dimnames=list(rnames, cnames))

Identifier des lignes, des colonnes ou des éléments à l'aide d'indices.

x[,4] # 4th column of matrix
x[3,] # 3rd row of matrix
x[2:4,1:3] # rows 2,3,4 of columns 1,2,3

Tableaux

Les tableaux sont similaires aux matrices mais peuvent avoir plus de deux dimensions. Voir help(array) pour plus de détails.

Trames de données

Un cadre de données est plus général qu'une matrice, dans la mesure où les différentes colonnes peuvent avoir des modes différents (numérique, caractère, facteur, etc.). Ceci est similaire aux ensembles de données SAS et SPSS.

d <- c(1,2,3,4)
e <- c("red", "white", "red", NA)
f <- c(TRUE,TRUE,TRUE,FALSE)
mydata <- data.frame(d,e,f)
names(mydata) <- c("ID","Color","Passed") # variable names

Il existe plusieurs façons d'identifier les éléments d'une base de données.

myframe[3:5] # columns 3,4,5 of data frame
myframe[c("ID","Age")] # columns ID and Age from data frame
myframe$X1 # variable x1 in the data frame

Listes

Une collection ordonnée d'objets (composants). Une liste vous permet de rassembler une variété d'objets (éventuellement sans rapport entre eux) sous un même nom.

# example of a list with 4 components -
# a string, a numeric vector, a matrix, and a scaler
w <- list(name="Fred", mynumbers=a, mymatrix=y, age=5.3)

# example of a list containing two lists
v <- c(list1,list2)

Identifiez les éléments d'une liste en utilisant la convention [[]].

mylist[[2]] # 2nd component of the list
mylist[["mynumbers"]] # component named mynumbers in list

Facteurs

Indiquez à R qu'une variable est nominale en la transformant en facteur. Le facteur stocke les valeurs nominales sous la forme d'un vecteur d'entiers dans l'intervalle [1... k] (où k est le nombre de valeurs uniques dans la variable nominale), et d'un vecteur interne de chaînes de caractères (les valeurs originales) mappées sur ces entiers.

# variable gender with 20 "male" entries and
# 30 "female" entries
gender <- c(rep("male",20), rep("female", 30))
gender <- factor(gender)
# stores gender as 20 1s and 30 2s and associates
# 1=female, 2=male internally (alphabetically)
# R now treats gender as a nominal variable
summary(gender)

Un facteur ordonné est utilisé pour représenter une variable ordinale.

# variable rating coded as "large", "medium", "small'
rating <- ordered(rating)
# recodes rating to 1,2,3 and associates
# 1=large, 2=medium, 3=small internally
# R now treats rating as ordinal

R traitera les facteurs comme des variables nominales et les facteurs ordonnés comme des variables ordinales dans les procédures statistiques et les analyses graphiques. Vous pouvez utiliser les options des fonctions factor( ) et ordered( ) pour contrôler la conversion des entiers en chaînes de caractères (sans tenir compte de l'ordre alphabétique). Vous pouvez également utiliser des facteurs pour créer des étiquettes de valeur.

Fonctions utiles

length(object) # number of elements or components
str(object)    # structure of an object
class(object)  # class or type of an object
names(object)  # names

c(object,object,...)       # combine objects into a vector
cbind(object, object, ...) # combine objects as columns
rbind(object, object, ...) # combine objects as rows

object     # prints the object

ls()       # list current objects
rm(object) # delete an object

newobject <- edit(object) # edit copy and save as newobject
fix(object)               # edit in place

Pratiquer

Pour explorer les types de données dans R, essayez ce cours interactif gratuit d'introduction à R.