将简单数据表转换为命名向量

问题描述 投票:0回答:3

我需要将简单的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')

有没有简单的方法

r data.table
3个回答
0
投票

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

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

0
投票

setNames()中使用J

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

0
投票

您可以尝试

a[ , setNames(v2, v1)]
© www.soinside.com 2019 - 2024. All rights reserved.