2015-12-09 91 views
3

我有相同長度的向量列表,我正在尋找一些簡單的方法來命名向量的元素。我可以通過使用for循環這樣做:列表中的向量的名稱

myList <- list(c(1,2,3), c(4,5,6), c(7,8,9)) 
for (i in 1:3){ names(myList[[i]]) <- c("a", "b", "c") } 

有沒有什麼辦法可以做到這一點,例如用lapply或其他更優雅的方式?

我這個代碼試了一下:

lapply(names(myList), function(i) names(myList[[i]])<- c("a", "b", "c")) 

但它只給了我的名字,而不是我的名字當前列表的新列表。

+3

也許'''lapply(myList中,'名稱<-',信件[1:3])'''? –

+3

如果載體不僅僅是相同的長度,而且是相同的類型,那麼可能列表並不是最好的結構... – A5C1D2H2I1M1N2O1R2T1

+0

謝謝大衛,這個作品! – Adela

回答

2

我們可以嘗試

lapply(myList, setNames, letters[1:3]) 
1

你可以試試這個:

lapply(myList, function(x) { names(x) <- c('a', 'b', 'c'); x}) 
+0

謝謝Vadym,這個也可以 – Adela