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