0
votes

Sous-ensemble les 4 premières lignes de chaque Dataframe dans une liste

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.

C'est un exemple de ce que je voudrais: xxx

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.


7 commentaires

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.


3 Réponses :


1
votes

Vous pouvez utiliser réduire pour appliquer fusionner sur les cadres de données sous réserve de la liste. XXX


Données: xxx


0 commentaires

1
votes

Nous pouvons utiliser mapper pour boucler sur la liste des deux s, obtenez les 4 premières lignes avec tête de chaque jeu de données dans le Liste s, et faire un fusion xxx


S'il n'y a qu'une seule liste , une approche avec Tidyverse serait xxx


3 commentaires

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 . Ici, lst1 , lst2 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



0
votes

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


0 commentaires