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

Subsetting Data in R

R dispose de puissantes fonctions d'indexation pour accéder aux éléments d'un objet. Ces caractéristiques peuvent être utilisées pour sélectionner et exclure des variables et des observations. Les extraits de code suivants montrent comment conserver ou supprimer des variables et des observations et comment prélever des échantillons aléatoires dans un ensemble de données.

Sélection (conservation) des variables

Exécutez ce code

# select variables v1, v2, v3
myvars <- c("v1", "v2", "v3")
newdata <- mydata[myvars]

# another method
myvars <- paste("v", 1:3, sep="")
newdata <- mydata[myvars]

# select 1st and 5th thru 10th variables
newdata <- mydata[c(1,5:10)]

Pour pratiquer cela de manière interactive, essayez les exercices de sélection d'éléments de data frame dans le chapitre Data frames de ce cours d'introduction à R.

Exclusion (suppression) de variables

Exécutez ce code

# exclude variables v1, v2, v3
myvars <- names(mydata) %in% c("v1", "v2", "v3")

newdata <- mydata[!myvars]

# exclude 3rd and 5th variable
newdata <- mydata[c(-3,-5)]

# delete variables v3 and v5
mydata$v3 <- mydata$v5 <- NULL

Sélection des observations

Exécutez ce code

# first 5 observations
newdata <- mydata[1:5,]

# based on variable values
newdata <- mydata[ which(mydata$gender=='F'
& mydata$age > 65), ]

# or
attach(mydata)
newdata <- mydata[which(gender=='F' & age > 65),]
detach(mydata)

Sélection à l'aide de la fonction Subset

La fonction subset( ) est le moyen le plus simple de sélectionner des variables et des observations. Dans l'exemple suivant, nous sélectionnons toutes les lignes dont l'âge est supérieur ou égal à 20 ou dont l'âge est inférieur à 10. Nous conservons les colonnes ID et Weight.

Exécutez ce code

# using subset function
newdata <- subset(mydata, age >= 20 | age < 10,
select=c(ID, Weight))

Dans l'exemple suivant, nous sélectionnons tous les hommes de plus de 25 ans et nous conservons les variables du poids au revenu (poids, revenu et toutes les colonnes entre elles).

Exécutez ce code

# using subset function (part 2)
newdata <- subset(mydata, sex=="m" & age > 25,
select=weight:income)

Pour vous entraîner à utiliser la fonction subset(), essayez cet exercice interactif sur le sous-ensemble des tableaux de données.

Échantillons aléatoires

Utilisez la fonction sample( ) pour prélever un échantillon aléatoire de taille n dans un ensemble de données.

Exécutez ce code

# take a random sample of size 50 from a dataset mydata

# sample without replacement
mysample <- mydata[sample(1:nrow(mydata), 50,
   replace=FALSE),]