2015-11-27 98 views
0

我相信這是一個基本問題,但我找不到正確的方法來做到這一點。我有一個SpatialPolygonsDataFrames列表。我希望我的列表中的每個元素有姓名其id.I試圖做列表元素的名稱,而不改變它們的類型

for (i in lenght(mylist)){ 
    mylist[i]=paste(mylist[[i]]@data$id) 
} 
#mylist is my list of SpatialPolygonsDataFrames 

但畢竟這我有一組字符(IDS),而不是SpatialPolygonsDataFrames的列表。我如何將我的元素保存爲SpatialPolygonsDataFrames並用它們的ID命名它們?

+0

這可能有助於http://stackoverflow.com/questions/7073785/dataframes-in-a-list-adding-a-new-variable-with-name-of-dataframe?rq=1 –

回答

0

用你的代碼覆蓋你的列表的內容,而不是它的名字,實際上你的列表變成了一個ID列表(轉換爲字符,因爲列表的名字只能由字符串)。

如果要編輯列表的名稱,你可以使用函數names(mylist),這樣你就可以這樣嘗試:

for (i in 1:length(mylist)) { #for each element of your list 
    names(mylist)[i]=mylist[[i]]@data$id #edit the names vector at position i 
} 

而且你不需要使用paste功能:你只有一個你想用作名稱的單一ID,你不需要粘貼多個元素。

+1

謝謝你的響應!你是正確的粘貼功能。 –

相關問題