【发布时间】:2013-02-07 11:45:37
【问题描述】:
我需要将许多大表添加到现有表中,因此我将 rbind 与优秀的包 data.table 一起使用。但是后来的一些表比原来的表有更多的列(需要包括在内)。 data.table 是否有 rbind.fill 的等价物?
library(data.table)
aa <- c(1,2,3)
bb <- c(2,3,4)
cc <- c(3,4,5)
dt.1 <- data.table(cbind(aa, bb))
dt.2 <- data.table(cbind(aa, bb, cc))
dt.11 <- rbind(dt.1, dt.1) # Works, but not what I need
dt.12 <- rbind(dt.1, dt.2) # What I need, doesn't work
dt.12 <- rbind.fill(dt.1, dt.2) # What I need, doesn't work either
我需要在拥有所有表之前开始 rbinding,因此无法知道将来会调用哪些新列。缺失的数据可以用NA填充。
【问题讨论】:
-
列是否总是以相同的顺序排列(即第 1 列是否在所有表中都保持为第 1 列?)
-
不,很遗憾没有。
-
列名至少会对应吗?
-
是的,所有表中大约有 20 列具有相同的名称,但有些表有更多列(使用新名称)
-
@Chris,你的列总是整数吗?
标签: r data.table