转换命名为载体列出,但保持矢量名

问题描述:

我有一个名为向量,我想转换到一个列表,因为这样的:转换命名为载体列出,但保持矢量名

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走在前面之后

+2

我的问题是非常不同的。下面发布的解决方案(简单并且有效)在这个问题中根本没有提到。 – Haloom

+0

你检查在这一问题的第一和接受的解决方案?你可以很容易地适应你对这个问题的要求。 –

+0

我重新打开了这个问题。我不相信这是链接的问题的重复和4出5个重复投票的人不属于R用户。您可以从派生其他答案答案遍布这个网站,但是,这并不意味着这些问题是相互重复。如果你可以让5个R用户同意这个重复,那么我可能会改变主意。 –

您可以使用split()名称。

split(a, names(a)) 

一种选择是设定与原vector相应names元素与Map

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