将命名向量转换为列表但保留向量名称

convert named vector to list but keep vector names

我有一个命名向量,我想将其转换为列表,例如:

a = 1:10
names(a) = letters[1:10]
as.list(a)
$a
[1] 1
$b
[1] 2
$c
[1] 3

在这里,每个向量的名称现在是列表的名称,但我需要列表中的向量保留它们的名称,如下所示:

as.list(a)
$a
a
1
$b
b
2
$c
c
3

有什么想法吗?谢谢!

继续 as.list 之后的一个选项是将元素的名称与原始 vector 的相应 namesMap

Map(setNames, as.list(a), names(a))
#$a
#a 
#1 

#$b
#b 
#2 

#$c
#c 
#3 

#$d
#d 
#4 

#$e
#e 
#5 

#$f
#f 
#6 

#$g
#g 
#7 

#$h
#h 
#8 

#$i
#i 
#9 

#$j
# j 
#10 

您可以使用 split().

split(a, names(a))