如何组合2个数据帧

时间:2018-01-24 09:25:53

标签: r dataframe merge rbind

我有2个数据帧,如下所示。 Dataframe 1的时间戳为2017年6月至2017年9月.Dataframe 2的时间戳为2018年1月15日至1月18日。

我需要结合这两个数据框,而不会丢失任何数据。

数据集中的列名相同。

数据帧1:382观察; 38个变量;时间戳:1-15-2018至1-18-2018

Dataframe 2:9567观察; 34个变量;时间戳:6-6-2017至9-13-2017

Dataframe 1:

  TimeStamp         A        B         C    D        E        F     G   H
  1/15/2018 0:00    49.9238  62.2187   0    52.3125  63.457   49    84  54
  1/15/2018 0:15    49.8437  62.4817   0    52.3125  58.593   49    84  54
  1/15/2018 0:30    50.2187  62.3932   0    52.625   75.995   49    84  54

Dataframe 2:

TimeStamp       D   A       B       E       C       F
6/6/2017 0:00   54  71.94   71.94   44.684  79.06   40.996
6/6/2017 0:15   53  71.94   71.63   45.966  80.06   40.708
6/6/2017 0:30   54  73.44   72.06   46.088  77.81   40.845
6/6/2017 0:45   54  73.88   72.06   46.704  83.56   40.654
6/6/2017 1:00   52  72.81   71.75   47.144  78.19   40.685

3 个答案:

答案 0 :(得分:3)

假设您的数据框名为df1df2,这是使用dplyr的简单解决方案。

library(dplyr)
df.new <- bind_rows(df1, df2)

默认情况下,此过程将保留显示在任何数据框中的所有列。

答案 1 :(得分:0)

您有另一种可能的解决方案。假设您获得了数据帧df1df2

library(dplyr)
df.merged <- union_all(df1, df2)

注意: union_all在某种意义上与bind_rows不同,如果两个数据框具有相同的列,则union_all会删除重复的列,而bind_rows保留重复的行。如果两个数据帧都有不同的列数(可能是几个常见的列名),那么所有列都将包含在合并的数据帧中。

答案 2 :(得分:-1)

您还可以使用 cbind 加入两个数据框

df.new <- cbind(df1, df2)