[Résolu] Soucis avec Gather

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

Jean-Emmanuel Longueville
Messages : 310
Enregistré le : 23 Fév 2011, 08:03

[Résolu] Soucis avec Gather

Messagepar Jean-Emmanuel Longueville » 29 Mai 2019, 14:37

Bonjour,
Voici mon soucis j'ai une structure de tableau suivante :
q0 q2_1 q2_2 q2_3
1 enseignant ou enseignant-chercheur Oui Oui Oui
2 un professionnel extérieur Oui Oui Oui
3 un professionnel extérieur Oui Oui Oui


et je cherche à avoir la structure suivante :
ref rep q0
q2_1 Oui enseignant ou enseignant-chercheur
q2_1 Oui un professionnel extérieur
q2_1 Oui un professionnel extérieur
q2_2 Oui enseignant ou enseignant-chercheur
q2_2 Oui un professionnel extérieur
q2_2 Oui un professionnel extérieur
q2_3 Oui enseignant ou enseignant-chercheur
q2_3 Oui un professionnel extérieur
q2_3 Oui un professionnel extérieur


Avec la commande suivante j'arrive à la moitié du chemin :

Code : Tout sélectionner

donnee %>% select(q2_1, q2_2, q2_3)%>% gather(key="ref", value="rep")


Mon problème réside surtout sur comment réattribuer la variable q0 du df donnee initiale, au résultat de la commande gather ?
merci pour votre aide.
Jean-Emmanuel
Ingénieur d'étude LNEC

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

Re: Soucis avec Gather

Messagepar Pierre-Yves Berrard » 29 Mai 2019, 14:47

Bonjour,

Ne pas faire de select, mais spécifier quelle variables rassembler dans gather.

Deux formulations équivalentes :

Code : Tout sélectionner

donnee %>% gather(key = ref, value = rep, q2_1, q2_2, q2_3)

donnee %>% gather(key = ref, value = rep, -q0)
PY

Jean-Emmanuel Longueville
Messages : 310
Enregistré le : 23 Fév 2011, 08:03

Re: Soucis avec Gather

Messagepar Jean-Emmanuel Longueville » 03 Juin 2019, 09:30

Merci au final j'ai réussi à faire ce que je voulais avec la commande suivante :

Code : Tout sélectionner

donnee %>% select(q0,q2_1, q2_2, q2_3)%>% gather(key="ref", value=rep, q2_1, q2_2, q2_3)

Le select vu la tête du jeu de donnée complet est nécessaire pour pouvoir lire le résultat obtenu
Jean-Emmanuel
Ingénieur d'étude LNEC

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Soucis avec Gather

Messagepar Mickael Canouil » 03 Juin 2019, 10:42

Bonjour,

Voici une petite suggestion, surtout si vous avez un grand nombre de variable "q2_*"

Code : Tout sélectionner

donnee %>%
  select(q0, starts_with("q2_")) %>%
  gather(key = ref, value = rep, starts_with("q2_"))


Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Jean-Emmanuel Longueville
Messages : 310
Enregistré le : 23 Fév 2011, 08:03

Re: Soucis avec Gather

Messagepar Jean-Emmanuel Longueville » 03 Juin 2019, 15:20

merci pour cette amélioration de mon code je ne connaissais pas start_with.
Jean-Emmanuel
Ingénieur d'étude LNEC


Retourner vers « Questions en cours »

Qui est en ligne

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