2017-10-13 84 views
2

我有一個名爲向量,我想轉換到一個列表,因爲這樣的:轉換命名爲載體列出,但保持矢量名

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用戶同意這個重複,那麼我可能會改變主意。 –

回答

3

您可以使用split()名稱。

split(a, names(a)) 
0

一種選擇是設定與原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