我需要将简单的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')
有没有一种简单的方法
答案 0 :(得分:2)
在setNames()
中使用j
:
a[, setNames(v2, v1)]
# a b c
# 1 2 3
答案 1 :(得分:0)
我们可以使用split
和unlist
将其作为命名向量。
unlist(split(a$v2, a$v1))
#a b c
#1 2 3