将简单的data.table转换为命名向量

时间:2019-10-02 11:45:48

标签: r data.table

我需要将简单的data.table转换为命名向量。

让我说我有data.table

a <- data.table(v1 = c('a', 'b', 'c'), v2 = c(1,2,3))

我想获得以下命名向量

b <- c(1, 2, 3)
names(b) <-  c('a', 'b', 'c')

有没有一种简单的方法

2 个答案:

答案 0 :(得分:2)

setNames()中使用j

a[, setNames(v2, v1)]
# a b c 
# 1 2 3 

答案 1 :(得分:0)

我们可以使用splitunlist将其作为命名向量。

unlist(split(a$v2, a$v1))
#a b c 
#1 2 3