Utilisation de grepl

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

Chérif Diallo
Messages : 8
Enregistré le : 12 Mai 2017, 12:48

Utilisation de grepl

Messagepar Chérif Diallo » 16 Mai 2017, 16:13

Bonjour, je me tourne vers vous pour une aide. Au fait je voulais rassembler des modalités d'une variable sans toucher quelques unes.
Je veux rassembler toutes les modalités dans une nouvelle modalité que je vais appeler "Autre" sans toucher les modalités qui commencent par ( CONDUCT). Quelqu'un pourrait m'aider?
Jusque là, j'ai utilisé la fonction grepl, et j'ai aussi procédé par la méthode suivante mais y'a toujours quelques
modalités qui ne sont pas prises en compte.


base$Fonction[base$Fonction %in% c("AGENT ACCUEIL ET PREVENTION","AGENT CONTROLE INFO. CLIENTELE","REGULATEUR ",
"AGENT MAINTENANCE ","AGENT PARKING RELAIS","ASSISTANT OPTHOR",
"RESPONSABLE CONTROLE","TECHN. PREVENTION INTERVENTION","ASSISTANT SERVICES GENERAUX ",
"CONSEILLER COMMERCIAL","ELECTROMECANICIEN","FORMATEUR","MECANICIEN",
"REGULATEUR ","RESP. PREVENTION INTERVENTION","RESP.COMMANDE DE SERVICE",
"RESPONSABLE CONTROLE","RESPONSABLE DE GROUPE ","RESPONSABLE EQUIPE PROXITAN ",
"TECHN. PREVENTION INTERVENTION")] <- "AUTRE"

Fonction:

AGENT ACCUEIL ET PREVENTION 1
AGENT CONTROLE INFO. CLIENTELE 1
AGENT MAINTENANCE 1
AGENT PARKING RELAIS 2
ASSISTANT OPTHOR 1
ASSISTANT SERVICES GENERAUX 2
CONDUCT.AGENT MEDIATION RESEAU 11
CONDUCTEUR- ACCUEIL PREVENTION 94
CONDUCTEUR-CONTROLE INF.CLIENT 61
CONDUCTEUR ASSISTANT 32
CONDUCTEUR RECEVEUR 1670
CONDUCTEUR SURVEILLANCE P+R 9
CONSEILLER COMMERCIAL 2
ELECTROMECANICIEN 3
FORMATEUR 2
MECANICIEN 4
REGULATEUR 6
RESP. PREVENTION INTERVENTION 15
RESP.COMMANDE DE SERVICE 3
RESPONSABLE CONTROLE 23
RESPONSABLE DE GROUPE 2
RESPONSABLE EQUIPE PROXITAN 1
TECHN. PREVENTION INTERVENTION 4

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Aide

Messagepar Pierre-Yves Berrard » 17 Mai 2017, 07:27

Bonjour,

J'utiliserais également grepl :

Code : Tout sélectionner

base$Fonction[!grepl("^CONDUCT", base$Fonction)] <- "AUTRE"

PS : merci de renommer le titre du sujet en quelque chose de plus explicite que "Aide".
PY

Chérif Diallo
Messages : 8
Enregistré le : 12 Mai 2017, 12:48

Re: Aide

Messagepar Chérif Diallo » 17 Mai 2017, 09:15

Merci beaucoup pour le retour, mais le code ne tourne pas bien, j'obtiens ceci comme message:
Warning message:
In `[<-.factor`(`*tmp*`, !grepl("CONDUCT", Tram$Fonction), value = c(11L, :
invalid factor level, NA generated

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Aide

Messagepar Pierre-Yves Berrard » 17 Mai 2017, 09:35

Parce que Tram$Fonction est un facteur...

Une solution : y ajouter au préalable un level (modalité possible).

Code : Tout sélectionner

levels(Tram$Fonction) <- c(levels(Tram$Fonction), "AUTRE")
Tram$Fonction[!grepl("^CONDUCT", Tram$Fonction)] <- "AUTRE"
(ne pas oublier le circonflexe avant "CONDUCT")
PY

Chérif Diallo
Messages : 8
Enregistré le : 12 Mai 2017, 12:48

Re: Aide

Messagepar Chérif Diallo » 17 Mai 2017, 12:57

Merci beaucoup YP

François Bonnot
Messages : 537
Enregistré le : 10 Nov 2004, 15:19
Contact :

Re: Utilisation de grepl

Messagepar François Bonnot » 24 Mai 2017, 12:56

Bonjour,
J'ai changé le titre de votre sujet.
Merci de ne pas utiliser des titres comme "aide" qui n'ont pas de contenu informatif.
François


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité