创建一个变量,该变量指示r的数据源



我想创建一个变量来指示观测值所在的数据帧(用变量"code&quot识别)。

我有这个数据库:

id code var1 var2 var9
1  1    a    3    5    4
2  2    b    4   54 5435
3  3    c   44    5    5
4  4    d    5    5   54
5  5    e    6    5    6
6  6    f    6    5    6

和这些数据帧:

df1
code var2 var3
1    a   23    4
2    e   45    6
3    k   56   98
df2
code var2 var3
1    b  324 4343
2    z   34  545
3    q  545    6
4    j   77   67
df3
code var2 var3
1    c    1    1
2    l   78   56
df4
code var2 var3
1    d    2    2
2    j    1    1
df5
code var2 var3
1    f 5335  343

我的预期结果:

id  code    var1    var2    var9    source
1     a       3       5       4       df1
2     b       4      54    5435       df2
3     c      44       5       5       df3
4     d       5       5      54       df4
5     e       6       5       6       df1
6     f       6       5       6       df5

数据
df  <- structure(list(id = 1:6, code = c("a", "b", "c", "d", "e", "f"), var1 = c(3L, 4L, 44L, 5L, 6L, 6L), var2 = c(5L, 54L, 5L, 5L, 5L, 5L), var9 = c(4L, 5435L, 5L, 54L, 6L, 6L)), class = "data.frame", row.names = c(NA, -6L))
df1 <- structure(list(code = c("a", "e", "k"), var2 = c(23L, 45L, 56L), var3 = c(4L, 6L, 98L)), class = "data.frame", row.names = c(NA, -3L))
df2 <- structure(list(code = c("b", "z", "q", "j"), var2 = c(324L, 34L, 545L, 77L), var3 = c(4343L, 545L, 6L, 67L)), class = "data.frame", row.names = c(NA, -4L))
df3 <- structure(list(code = c("c", "l"), var2 = c(1L, 78L), var3 = c(1L, 56L)), class = "data.frame", row.names = c(NA, -2L))
df4 <- structure(list(code = c("d", "j"), var2 = 2:1, var3 = 2:1), class = "data.frame", row.names = c(NA, -2L))
df5 <- structure(list(code = "f", var2 = 5335L, var3 = 343L), class = "data.frame", row.names = c(NA, -1L))

您可以从dplyr中使用bind_rows:

library(dplyr)
bind_rows(df1 = df1, df2 = df2, df3 = df3, df4 = df4, df5 = df5, .id = 'source')
#>    source code var2 var3
#> 1     df1    a   23    4
#> 2     df1    e   45    6
#> 3     df1    k   56   98
#> 4     df2    b  324 4343
#> 5     df2    z   34  545
#> 6     df2    q  545    6
#> 7     df2    j   77   67
#> 8     df3    c    1    1
#> 9     df3    l   78   56
#> 10    df4    d    2    2
#> 11    df4    j    1    1
#> 12    df5    f 5335  343

最新更新