我有一个字符向量x,我想以一种快速的方式将它转化为一行data.table。命令data.table(x)返回一个列data.table。现在,data.table(t(x))完成了任务,但我想知道是否有更快的方法。
发布于 2016-03-25 14:03:45
我们可以用
x <- 1:5
setDT(as.list(x))[]基准测试
v1 <- 1:1e5
system.time(data.table(t(v1)))
# user system elapsed
# 12.95 0.01 12.97
system.time(setDT(as.list(v1)))
# user system elapsed
# 5.75 0.00 5.75
system.time(as.data.table(t(v1)))
# user system elapsed
# 6.35 0.00 6.34 更新
如果上面的练习用rbind表示一个带有data.table的向量,我们就不需要将vector转换成data.table
d1 <- data.table(V1= 1:3, V2= 4:6, V3=7:9)
rbindlist(list(d1, as.list(1:3)))https://stackoverflow.com/questions/36221402
复制相似问题