Reordonner mes levels

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Aurélia Zanni
Messages : 12
Enregistré le : 01 Mai 2018, 08:14

Reordonner mes levels

Messagepar Aurélia Zanni » 08 Mai 2018, 15:20

Bonjour,

J'ai crée via la fonction levels tout les niveaux et j'ai rajouté en fin les niveaux manquant qui n'apparaissaient pas dans la table.
Le problème c'est que j'ai beau appliquer la fonction suivante : factor(orthos$pk_zone,levels=niveau), je ne vois pas que mes niveaux sont réordonnés.

Avec le premier script je vois les niveaux pris en compte

Code : Tout sélectionner

levels(orthos$pk_zone)


Ensuite je rajoute les manquant en fin de liste

Code : Tout sélectionner

niveau10<-levels(orthos$pk_zone)<-c("1/Lieu de résidence",
                          "10/Lieu de résidence et intégration dans un réseau de professionnels de santé",
                          "11/Lieu de résidence et autre",
                          "12/Aides, opportunité professionnelle et absence de concurrence",
                          "13/Lieu de résidence, aides ou opportunité professionnelle et intégration dans un réseau de professionnels de santé",
                          "4/Absence de concurrence",
                          "5/Rejoindre un réseau de professionnels de santé",
                          "7/Autres",
                          "8/Lieu de résidence et absence de concurrence",
                          "9/Lieu de résidence et Aides et opportunité professionnelle",
                          "2/Dotation intéressante",
                          "3/Aides et opportunité professionnelle",
                          "6/Rejoindre une maison de santé")


Code : Tout sélectionner

levels(orthos$pk_zone)
addmargins(table(orthos$pk_zone,useNA="always"))


On voit que pour l'instant ce n'est pas ordonné, j'aimerai que ce soit ordonné selon le numéro de modalité que j'ai donné principalement pour la construction graphique.

J'applique la fonction factor avec l'option levels= que j'ai cité au départ, dans son détail les niveaux semblent réordonnes mais quand je vérifie avec levels() ca n'a pas bougé. J'ai également essayé les fonctions ordered() et reorder du package gdata. Je tape peut-être mal la commande ? Peut-être que je dois bien taper à la base mes niveaux dans l'ordre et que la fonction reordonne les effectifs au bon endroit ?

Code : Tout sélectionner

factor(orthos$pk_zone,levels=niveau10)
levels(orthos$pk_zone)


En vous remerciant.

jean lobry
Messages : 733
Enregistré le : 17 Jan 2008, 20:00
Contact :

Re: Reordonner mes levels

Messagepar jean lobry » 08 Mai 2018, 20:27

Bonjour,

une piste :

Code : Tout sélectionner

> factor(letters)
 [1] a b c d e f g h i j k l m n o p q r s t u v w x y z
Levels: a b c d e f g h i j k l m n o p q r s t u v w x y z
> factor(letters, ordered = TRUE)
 [1] a b c d e f g h i j k l m n o p q r s t u v w x y z
26 Levels: a < b < c < d < e < f < g < h < i < j < k < l < m < n < o < p < q < r < s < ... < z

amicalement,

jean

Eric Wajnberg
Messages : 776
Enregistré le : 11 Aoû 2008, 15:37
Contact :

Re: Reordonner mes levels

Messagepar Eric Wajnberg » 09 Mai 2018, 15:11

la fonction relevel() ne peut-elle pas vous aider ?

HTH, Eric.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité