Fusion de données.des cadres avec des doublons
J'ai beaucoup de données.les cadres, par exemple:
df1 = data.frame(names=c('a','b','c','c','d'),data1=c(1,2,3,4,5))
df2 = data.frame(names=c('a','e','e','c','c','d'),data2=c(1,2,3,4,5,6))
df3 = data.frame(names=c('c','e'),data3=c(1,2))
et j'ai besoin de fusionner ces données.images, sans supprimer le nom des doublons
> result
names data1 data2 data3
1 'a' 1 1 NA
2 'b' 2 NA NA
3 'c' 3 4 1
4 'c' 4 5 NA
5 'd' 5 6 NA
6 'e' NA 2 2
7 'e' NA 3 NA
Je ne peux pas trouver de fonction comme la fusion avec la possibilité de manipuler avec un un nom de doublons. Je vous remercie pour votre aide.
Pour définir mon problème. Les données proviennent d'expérimentation biologique, où un échantillon ont un nombre différent de répétitions. J'ai besoin de fusionner l'ensemble de l'expérience, et j'en ai besoin pour produire ce tableau. Je ne peux pas générer d'identificateur unique pour les répétitions.
Vous devez vous connecter pour publier un commentaire.
D'abord définir une fonction,
run.seq
, qui fournit les numéros de séquence pour les doublons, car il apparaît à partir de la sortie que ce qui est souhaité, c'est que le ie double de chaque nom dans chaque composante de la fusion de être associée. Ensuite, créez une liste des trames de données et ajouter unrun.seq
colonne pour chaque composant. Enfin l'utilisation desReduce
de fusionner tous.La dernière ligne donne:
EDIT: Révisé
run.seq
de sorte que l'entrée n'a pas besoin d'être triés.run.seq
de sorte que l'entrée n'a pas besoin d'être triés.Voir d'autres questions:
Exemples:
ou
ou
Je pense qu'il n'est tout simplement pas assez d'informations dans votre exemple des trames de données pour ce faire. Qui
'c'
dans dataframe 1 doit être couplé avec qui'c'
dans les données de l'image 2? Nous ne pouvons pas dire, de sorte que R ne peut pas. Je soupçonne que vous devrez ajouter une autre variable pour chacun de vos dataframes qui identifie de manière unique ces dupliquer cas.