Réattribuer la même variable plusieurs fois en fonction de la variable d'une autre colonne

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

Theo Da Silva
Messages : 6
Enregistré le : 15 Mar 2018, 14:07

Réattribuer la même variable plusieurs fois en fonction de la variable d'une autre colonne

Messagepar Theo Da Silva » 19 Mar 2018, 16:11

Bonjour à tous,

Je viens solliciter votre aide car malgré différentes recherches, je ne trouve pas de cas similaires.
Pour résumé, je travaille sur un jeu de données (dont je présente une partie) dans laquelle j’ai deux catégories différenciées par le symbole dans la première colonne par les symboles "-" et "*"

J'ai un identifiant individu (df$V8) attribué à tous les individus marqués "*" (df$V1)

Je souhaiterais reporter cet identifiant aux individus marqués "-" (df$V1) en fonction de la variable contenu dans la colonne df$V7

Code : Tout sélectionner

> df
  V1       V7           V8
1  - 31404168         <NA>
2  - 11564168         <NA>
3  - 11563520         <NA>
4  * 11563520 0034 3520 03
5  * 11564168 0034 4168 03
6  * 31404168 0034 4168 04


Je voulais essayer avec une boucle mais je reste bloqué sur l'écriture de celle-ci

Code : Tout sélectionner

for (i in 1:nrow(df)) {
  if (df$V7[i]== "x" & df$V8[i] == <NA>){
    df$V8[i]<-df$V8... 
  } else {df$V8[i]<-df$V8[i]}
}


Ce que je cherche à obtenir :

Code : Tout sélectionner

> df
  V1       V7           V8
1  - 31404168 0034 4168 04
2  - 11564168 0034 4168 03
3  - 11563520 0034 3520 03
4  * 11563520 0034 3520 03
5  * 11564168 0034 4168 03
6  * 31404168 0034 4168 04


Je vous remercie par avance pour votre aide

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

Re: Réattribuer la même variable plusieurs fois en fonction de la variable d'une autre colonne

Messagepar Pierre-Yves Berrard » 19 Mar 2018, 23:27

Bonjour,

Merci d'avoir simplifié la problématique. ;-)

Code : Tout sélectionner

library(dplyr)
library(tidyr)
df %>% arrange(V7, V8) %>% fill(V8)
PY

Theo Da Silva
Messages : 6
Enregistré le : 15 Mar 2018, 14:07

Re: Réattribuer la même variable plusieurs fois en fonction de la variable d'une autre colonne

Messagepar Theo Da Silva » 20 Mar 2018, 09:01

Bonjour

Merci pour votre réponse, cependant cela modifie l'ordre des lignes dans mon dataframe, est ce normal ?

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

Re: Réattribuer la même variable plusieurs fois en fonction de la variable d'une autre colonne

Messagepar Pierre-Yves Berrard » 21 Mar 2018, 22:48

Oui, arrange() est nécessaire pour que fill() donne le bon résultat.
PY

Theo Da Silva
Messages : 6
Enregistré le : 15 Mar 2018, 14:07

Re: Réattribuer la même variable plusieurs fois en fonction de la variable d'une autre colonne

Messagepar Theo Da Silva » 22 Mar 2018, 09:15

D'accord, merci pour votre aide


Retourner vers « Questions en cours »

Qui est en ligne

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