我有一个字符向量 x
我想以快速的方式将其转换为一行 data.table。命令 data.table(x)
返回一列数据表。现在,data.table(t(x))
完成工作,但我想知道是否有更快的方法。
最佳答案
我们可以用
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)))
关于R data.table : turn a vector into a one row data. 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36221402/