我使用rbind将多个数据帧附加到更大的数据帧中。我想将数据框的名称添加为新列," name"。
n = c(2, 3, 5)
s = c("aa", "bb", "cc")
d1 = data.frame(n, s)
n = c(2, 3, 5)
s = c("ax", "bx", "cx")
d2 = data.frame(n, s)
rbind(d1, d2)
我希望看到一个新的专栏" d1"和" d2"作为变量。我在很多数据集上都这样做,所以尽管这个例子很简单,但最终的prdoct会为我节省很多时间。 THX
答案 0 :(得分:0)
我相信你一直在寻找好的东西。这里有deparse(substitute())
招数。我在下面修改了您的代码,为每个data.frame
添加了一个额外的列,其中只包含data.frame
本身的名称。
n = c(2, 3, 5)
s = c("aa", "bb", "cc")
d1 = data.frame(n, s)
d1$name <- deparse(substitute(d1))
n = c(2, 3, 5)
s = c("ax", "bx", "cx")
d2 = data.frame(n, s)
d2$name <- deparse(substitute(d2))
d3 <- rbind(d1, d2)
将它们合并在一起时,生成的data.frame
看起来像
!> d3
n s name
1 2 aa d1
2 3 bb d1
3 5 cc d1
4 2 ax d2
5 3 bx d2
6 5 cx d2