Un fichier de données
Travaillons sur une enquête de satisfactions dans un hôpital, récupéré lors d’un cours de FUN (France Unité Numérique). Les fichiers sont disponibles ici.
Par la suite, ces données seront stockées dans la variable satis .
Dans ces données comme souvent, les observations sont en lignes et les variables en colonnes.
Transformation de variables quantitatives en variables qualitatives
On utilise la fonction factor qui transforme les valeurs numériques ordonnées en niveaux (levels).
Pour créer une nouvelle variable qualitative service.c á partir de la variable quantitative service :
satis$service.c <- factor(satis$service)
Pour comparer les deux variables, utilisons la fonction summary :
summary(satis$service)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 3.000 5.000 4.549 7.000 8.000
summary(satis$service.c)
1 2 3 4 5 6 7 8
65 59 70 69 71 64 67 69
On peut par la suite changer les labels des niveaux avec la fonction levels :
levels(satis$service.c)<-c("S1","S2","S3","S4","S5","S6","S7","S8") summary(satis$service.c)
S1 S2 S3 S4 S5 S6 S7 S8
65 59 70 69 71 64 67 69
On peut aussi le faire directement.
Pour coder les professions :
satis$profession.c <- factor(satis$profession,labels=c("agriculteur","artisan","cadre","intermédiaire","employé","ouvrier","sans emploi","autre")) summary(satis$profession.c)
agriculteur artisan cadre intermédiaire employé ouvrier
1 38 124 88 69 44
sans emploi autre NA's
22 41 107
Pour coder les sexes :
satis$sexe.c <- factor(satis$sexe,labels=c("homme","femme")) summary(satis$sexe.c)
homme femme
268 266
Les changements de valeurs
L’instruction ifelse permet d’attribuer deux valeurs, en fonction du résultat du test.
Pour transformer la variable recommander en variable binaire recommander.b, la valeur vaudra 1 est recommander vaut 2 et 0 sinon :
satis$recommander.b<-ifelse(satis$recommander==2,1,0) table(satis$recommander,satis$recommander.b)
0 1
0 16 0
1 120 0
2 0 269
Destruction d’une variable
Pour détruire la variable sexe.c :
satis$sexe.c<-NULL satis$sexe.c
NULL