2013-03-25 145 views
2

我想創建一個可能有重複名稱的對象列表。例如:如何獲取具有相同名稱的列表元素?

l <- list("a"=1:4, "a"=2:3, "b"=1) 

現在我想獲得升,其名稱爲 「a」(L [1]和L [2]在這種情況下)的元素。有沒有簡潔的方式來做到這一點,而不是循環名稱(l)?謝謝。

+1

如果有人撬動並詢問最終目標是什麼,你會被冒犯嗎? – 2013-03-25 05:28:38

+0

@RicardoSaporta我的目標是創建一個樹結構來保存分層數據。並且一些節點的名稱可以被複制。你有比列表清單更好的主意?謝謝。 – Kid 2013-03-25 22:57:48

回答

7

您可以使用基本的子集此:

> l[names(l) == "a"] 
$a 
[1] 1 2 3 4 

$a 
[1] 2 3 

(順便說一句,l是一個時髦的性格本身有,因爲它是多麼容易被誤解爲1腳本中使用) 。

+4

有一個'這裏是龍'的警告,重複的名稱是非標準的,你不能指望通過名稱函數'提取'一致工作。 – mnel 2013-03-25 04:51:46

相關問題