J'ai deux listes de dataframes que je veux fusionner mais ils ont des nombres différents différents et je souhaite donc prendre les quatre premières lignes de chaque Dataframe dans la liste, donc je suis capable de les fusionner.
J'ai essayé Plusieurs choses et n'avaient pas beaucoup d'espoir, aucune aide serait appréciée. P>
C'est un exemple de ce que je voudrais: p> merci pour votre Aide, ceci est mes données que chaque liste ressemble un peu à ceci:
Entrez la description de l'image ici Entrez la description de l'image ici
Comme vous pouvez le constater, il y a quelques données de données avec seulement 4 lignes. Mon objectif est d'obtenir les données cbintées de manière à ce que les données pour un nom d'une personne pour le pilote suivent sur la même ligne par les données du même nom de personnes pour les fers. Cela signifierait que je finirai par une liste de données de données similaires à celle qui est ci-dessus, avec deux fois plus de colonnes à partir de laquelle je peux sélectionner les données importantes de. Je ne me dérange pas si cela signifie perdre la 5ème rangée ou non. p> p>
3 Réponses :
Vous pouvez utiliser Données: em> p> réduire code> pour appliquer
fusionner code> sur les cadres de données sous réserve de la liste.
Nous pouvons utiliser S'il n'y a qu'une seule liste mapper code> pour boucler sur la liste des deux
code> s, obtenez les 4 premières lignes avec
tête code> de chaque jeu de données dans le
Liste code> s, et faire un
fusion code>
code>, une approche avec
Tidyverse code> serait p>
Merci pour cela, puis-je demander ce qui devrait être à la place des LST1 et LST2
@Natashajones Lorsque j'ai lu votre description, il est indiqué que avoir deux listes de dataframes code>. Ici,
lst1 code>,
lst2 code> sont les noms des objets de liste
Oh ok donc mon mauvais si mes noms de liste sont dans CLST Qu'est-ce qui se trouve dans DAT1 et DAT2 PALCE
Je n'ai pas pu voir la qualité d'impression de vos données, donc je crée des données et que vous indiquez si cela aide:
library(dplyr) # Creating data Ages = data.frame(names = c("John", "Claire", "Steve", "Pete"), Age = c(31, 25, 17, 42)) Jobs = data.frame(names = c("Harry", "Thomas", "Steve", "Pete", "John", "Claire"), job = c("Economist", "Lawyer", "Driver", "Salesman", "Banking", "Physician")) # Resulting data frame Ages #> names Age #> 1 John 31 #> 2 Claire 25 #> 3 Steve 17 #> 4 Pete 42 Jobs #> names job #> 1 Harry Economist #> 2 Thomas Lawyer #> 3 Steve Driver #> 4 Pete Salesman #> 5 John Banking #> 6 Claire Physician # Merge only lines that are present in both data frames data = Ages %>% inner_join(Jobs, by = c("names" = "names")) data #> names Age job #> 1 John 31 Banking #> 2 Claire 25 Physician #> 3 Steve 17 Driver #> 4 Pete 42 Salesman # Keep all lines in Job data frame and merge ones found in Ages data frame data = Ages %>% right_join(Jobs, by = c("names" = "names")) data #> names Age job #> 1 John 31 Banking #> 2 Claire 25 Physician #> 3 Steve 17 Driver #> 4 Pete 42 Salesman #> 5 Harry NA Economist #> 6 Thomas NA Lawyer
Pourriez-vous fournir des données supplémentaires? Je soupçonne ce que vous demandez n'est pas ce dont vous avez besoin.
J'ai une liste de données de données que certaines lignes sont de 4 rangées et certaines sont de 5 rangées, je dois couper toutes les 5ème rangées afin qu'il y ait 4 lignes dans chaque Dataframe dans une liste.
Donc, je pense que je pouvais sauver les 4 premières lignes de chaque Dataframe dans une nouvelle liste
La 5ème ligne est-elle vraiment dépensée?
Mon but d'abord était de les garder mais je dois être capable de combiner ces listes et j'ai donc réglé pour vous en débarrasser de ce que oui
Dites que vous avez une variable commune dans les deux listes (comme les noms de personnes). Vous n'avez pas besoin de la même liste de tailles pour fusionner, vous pouvez les rejoindre par sa clé (noms). Cela gérerait également des problèmes de commande. C'est pourquoi j'ai demandé un aperçu de vos données.
Merci pour votre aide, j'ai ajouté des images et des détails à la question que je pense pourrait répondre à vos questions.