我有一个带有命名值的矢量:
v = c(a = 10, b = 20)
我想创建一个data.table并将名称保存在一个单独的列中。
答案 0 :(得分:12)
以下是实现这一目标的几种方法。
> v = c(a = 10, b = 20)
使用names()函数:
> data.table(names = names(v), v)
names v
1: a 10
2: b 20
如果向量已经存储在变量中,这似乎是最好的选择。
如果vector来自一个表达式,你宁愿不计算它两次或分配给一个变量,你可以使用as.data.table()函数:
> as.data.table(v, keep.rownames=TRUE)
rn v
1: a 10
2: b 20