假设我有以下列表:
X = list(data.table(1:2,3:4,5:6),
data.table(letters[1:2], letters[3:4]))
我想将列表中的元素按列绑定(bind)到单个 data.table 中。
输出将与产生的相同
do.call(cbind, X)
但是,由于我的原始列表和包含的数据表非常大,如果我可以通过引用来执行此操作会更好,而不是使用
cbind()
复制整个对象。 .有没有办法做到这一点?像 rbindlist()
相当于按列绑定(bind),我已经看到这被标记为待办事项......如果这个简单的问题已经在其他地方得到回答,我很抱歉,我错过了答案。
最佳答案
下面的呢?
# check.names = TRUE forces unique names on the output
setDT(
unlist(X, recursive = FALSE),
check.names = TRUE
)[]
# V1 V2 V3 V4 V5
# 1: 1 3 5 a c
# 2: 2 4 6 b d
关于r - 按列和引用绑定(bind) data.tables 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48333523/