dupliquer des observations ayant des identifiants communs

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

Fabrice Yaméogo
Messages : 24
Enregistré le : 22 Mar 2019, 10:09

dupliquer des observations ayant des identifiants communs

Messagepar Fabrice Yaméogo » 08 Avr 2019, 09:52

Bonjour, je dispose d'un tableau de données constitué de personnes et contenant les variables suivantes:
-ident(identifiant de la personne)
-nummenage(numéro du ménage auquel l'individu appartient)



ident<-(A,B,C,D,A,A,B,B,B,C)

nummenage<-c(1,2,3,4,NA,NA,NA,NA,NA,NA)

df<-data.frame(ident,nummenage)

df
str(df)

J'ai donc 10 individus et 4 ménages.

j'ai converti ident qui était factor en character avec le code suivant:



df$ident<-as.character(df$ident)

ident est de type character et nummenage est de type numeric

Je souhaiterais que les individus qui ont des valeurs manquantes puissent être rattachés à leur ménage pour avoir un tableau final:

ident nummenage
1 A 1
2 B 2
3 C 3
4 D 4
5 A 1
6 A 1
7 B 2
8 B 2
9 B 2
10 C 3

Pourriez-vous m'aidez svp?

D'avance merci.

Fabrice

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: dupliquer des observations ayant des identifiants communs

Messagepar Serge Rapenne » 08 Avr 2019, 11:19

Bonjour,

tu peux faire comme ça :

Code : Tout sélectionner

ident<-c("A","B","C","D","A","A","B","B","B","C")
nummenage<-c(1,2,3,4,NA,NA,NA,NA,NA,NA)
df<-data.frame(ident,nummenage)

df_partiel<-na.omit(df)
df_partiel
  ident nummenage
1     A         1
2     B         2
3     C         3
4     D         4
df$nummenage<-df_partiel$nummenage[match(df$ident,df_partiel$ident)]
df
ident nummenage
1      A         1
2      B         2
3      C         3
4      D         4
5      A         1
6      A         1
7      B         2
8      B         2
9      B         2
10     C         3


Serge

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: dupliquer des observations ayant des identifiants communs

Messagepar Logez Maxime » 08 Avr 2019, 11:40

Bonjour,

Si ident est un facteur, alors dans un cas simple comme celui-ci où à chaque modalité ordonnée de ton facteur correspond le numéro tu peux faire :

Code : Tout sélectionner

df$nummenage <- as.integer(df$ident)

Cordialement,
Maxime

Fabrice Yaméogo
Messages : 24
Enregistré le : 22 Mar 2019, 10:09

Re: dupliquer des observations ayant des identifiants communs

Messagepar Fabrice Yaméogo » 08 Avr 2019, 11:54

Merci de vos réponses rapides.

C'est vraiment gentil.

Cordialement

Fabrice


Retourner vers « Questions en cours »

Qui est en ligne

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