将数据框与数据框源合并为列

时间:2017-08-23 19:20:48

标签: r dataframe merge unique

我有两个数据框(忽略##)

DF1

##   day time  temp activ
## 1 346  840 36.33     0
## 2 346  850 36.34     0
## 3 346  900 36.35     0
## 4 346  910 36.42     0
## 5 346  920 36.55     0
## 6 346  930 36.69     0

和df2

  day time  temp activ
   1 307  930 36.58     0
## 2 307  940 36.73     0
## 3 307  950 36.93     0
## 4 307 1000 37.15     0
## 5 307 1010 37.23     0
## 6 307 1020 37.24     0

我无法创建另一个列,列出该行来自哪个数据帧(df1或df2),以便合并的df看起来像这样,对于df1 / df2数据。

    day time  temp activ df_origin
1   307  930 36.58     0 df1
2   307  940 36.73     0 df1
3   307  950 36.93     0 df1
4   307 1000 37.15     0 df1

谢谢

2 个答案:

答案 0 :(得分:2)

在合并之前,只需为每个列添加一列:

df1$df_origin <- 'df1'
df2$df_origin <- 'df2'

答案 1 :(得分:0)

我们可以将数据集放在list中并使用Map一次创建列

lst <- mget(paste0("df", 1:2))
lst <- Map(cbind, lst, df_origin = names(lst))