Supposons que j'ai trois ensembles de données

DF1=
Traj X Y
1   4 5
1   7 8
2   5 6
DF2=

Traj X Y
1   5 2
1   6 4
2   8 7
DF3=

Traj X Y
1   8 5
1   1 9
2   3 7

Comment puis-je les combiner en un seul ensemble de données comme ci-dessous :

DF1=

Traj X Y
1   4 5
1   7 8
2   5 6
1   5 2
1   6 4
2   8 7
1   8 5
1   1 9
2   3 7

J'ai beaucoup de données similaires qui ont des éléments similaires et il serait plus facile de simplement les combiner, malheureusement je ne sais pas comment le faire.

r
2
damien 21 mars 2021 à 18:37

4 réponses

Meilleure réponse

En base R, rbind(DF1, DF2, DF3 (rbind signifie "row bind", c'est-à-dire "mettre des lignes ensemble"). Dans tidyverse, dplyr::bind_rows(DF1, DF2, DF3) est légèrement plus sophistiqué.

Si vous avez déjà une liste de vos blocs de données,

DFlist <- list(DF1, DF2, DF3)
do.call(DFlist, rbind)
3
Ben Bolker 21 mars 2021 à 18:31

Cela fonctionne aussi:

bind_rows(DF1, DF2, DF3)
2
TarJae 21 mars 2021 à 18:08

Une autre option consiste à le placer dans un list et à utiliser bind_rows

library(dplyr)
mget(ls(pattern = '^DF\\d+$')) %>%
       bind_rows
2
akrun 21 mars 2021 à 17:48

Faites simplement ceci

rbind(df1, df2, df3) 
2
AnilGoyal 21 mars 2021 à 15:41