2012-10-21 89 views
17

我是R語言的新手,我還有很多東西需要學習。 我有一個名單W的J元素,我想重新命名它的元素W[[i]]Wi,即W[[1]]W1等,使用循環。我能怎麼做?如何重新命名元素的列表在R中的循環索引

+0

你的意思是「我希望從W中的元素創建J個新的名單,如所示的新名稱」,或者你的意思是「我希望將名稱W1,W2等添加到當前列表元素「?請注意,第二個不會改變您引用列表元素的方式,它只會添加一些可供您參考的方法。 –

回答

17
names(W) <- paste0("W", seq_along(W)) 

應該這樣做。

請注意,paste0在R 2.15中作爲paste(..., sep = "", collapse)的「略高效」版本引入。如果您使用R的早期版本,您可以使用paste達到相同的:

names(W) <- paste("W", seq_along(W), sep = "") 
+0

R說它找不到函數「paste0」.. – zaire90

+0

@ zaire90查看我答案的更新。 –

+0

好的,謝謝Sven,我看不到更新,現在它的工作.... – zaire90

11

或者您可以使用sprintf()

w<-list(a="give",b="me an",c="example") 
names(w)<-sprintf("W%i",1:length(w)) 

正如你所看到的,你不需要爲一個循環這個。

它應該做的工作。在這個例子中,名稱是W1,W2和W3

print(w) 
$W1 
[1] "give" 

$W2 
[1] "me an" 

$W3 
[1] "example" 
+0

謝謝昆汀! – zaire90

相關問題