简体   繁体   English

如何在 R 中垂直连接或合并多个数据集

[英]How do I vertically join or merge multiple datasets within R

I have 12 datasets that all resemble this (this is a sample, the real datasets all contain over 10,000 varying rows, with the same number/name of columns)我有 12 个与此类似的数据集(这是一个示例,真实数据集都包含超过 10,000 个不同的行,具有相同的列数/名称)

   df1

   Start                End                      Duration

   9/10/2019 1:00:00  PM  9/10/2019 1:00:10  PM   10
   10/10/2019 2:00:00 PM 10/10/2019 2:00:10  PM   10


   df2

   Start                End                        Duration

   11/10/2019 1:00:00 AM  11/10/2019 1:00:10  AM   10
   12/10/2019 2:00:00 AM  12/10/2019 2:00:10  AM   10


    df3

   Start                   End                   Duration

   01/10/2020 1:00:00 AM   01/10/2020 1:00:10 AM   10
   02/10/2020 2:00:00 AM   02/10/2020 2:00:10 AM   10

I would like this outcome:我想要这样的结果:

   Start                     End                   Duration

   9/10/2019  1:00:00 PM    9/10/2019 1:00:10  PM   10
   10/10/2019 2:00:00 PM    10/10/2019 2:00:10 PM   10
   11/10/2019 1:00:00 AM    11/10/2019 1:00:10 AM   10
   12/10/2019 2:00:00 AM    12/10/2019 2:00:10 AM   10
   01/10/2020 1:00:00 AM    01/10/2020 1:00:10 AM   10
   02/10/2019 2:00:00 AM    02/10/2019 2:00:10 AM   10

Here is my dput:这是我的 dput:

 structure(list(Start = structure(1:2, .Label = c("11/10/2019 13:00", 
 "12/10/2019 14:00"), class = "factor"), End = structure(1:2, .Label = c("11/10/2019 13:00", 
 "12/10/2019 14:00"), class = "factor"), Duration = c(10L, 10L
 )), class = "data.frame", row.names = c(NA, -2L))



 structure(list(Start = structure(1:2, .Label = c("11/10/2019 1:00:00 AM", 
 "12/10/2019 2:00:00 AM"), class = "factor"), End = structure(1:2, .Label = c("11/10/2019 1:00:10 AM", 
"12/10/2019 2:00:10 AM"), class = "factor"), Duration = c(10L, 
 10L)), class = "data.frame", row.names = c(NA, -2L))


 structure(list(Start = structure(1:2, .Label = c("1/10/2020 1:00:00 AM", 
 "2/10/2020 2:00:00 AM"), class = "factor"), End = structure(1:2, .Label =     c("1/10/2020 1:00:10 AM", 
 "2/10/2020 2:00:10 AM"), class = "factor"), Duration = c(10L, 
 10L)), class = "data.frame", row.names = c(NA, -2L))

This is what I have tried:这是我尝试过的:

  combined <- rbind(df1, df2)

However, it only works when joining 2 datasets and not 10但是,它仅在加入 2 个数据集而不是 10 个数据集时有效

You can use the bind_rows trom the tidyverse您可以在tidyverse 中使用 bind_rows

library(tidyverse)
dim(mtcars) # [1] 32 11
BindMtcars <- bind_rows(mtcars, mtcars, mtcars, mtcars)
dim(BindMtcars) # [1] 128  11

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM