New*_*tat 3 optimization r data.table
我有一个字符向量x,我想以快速的方式变成一行data.table.该命令data.table(x)返回一列data.table.现在,data.table(t(x))完成工作,但我想知道是否有更快的方法.
我们可以用
x <- 1:5
setDT(as.list(x))[]
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
如果将上面的练习转换rbind为带有a的向量data.table,我们就不需要将其转换vector为data.table
d1 <- data.table(V1= 1:3, V2= 4:6, V3=7:9)
rbindlist(list(d1, as.list(1:3)))
Run Code Online (Sandbox Code Playgroud)