2016-02-03 52 views
0

I'm創建通過附加基於由國家循環列表和命名每個子列表與每個國家的名稱列表:命名和追加名單列表的循環中

library(rlist) 
States=c("VA", "MA", "PA") 
j=1 
for (i in States) { 
    i=list(population=something, size=something) 

    if (j==1) { 
    total_list <- list(i=get(i)) 
    j=2 
    } 
    else total_list <- list.append(total_list,i=get(i)) 

} 

它的工作原理,但每個子列表都是名字「我」而不是國家的名稱;如果我嘗試包括get(I)= get(I),我會得到一個錯誤。我怎麼能讓這個名字起作用?也歡迎任何改進此代碼的建議。

+0

不確定你在嘗試什麼,但是'hash'包似乎對你正在嘗試做的事很有用。 – Ananta

+1

你從哪裏獲得人口和規模,而且還沒有國家? – Mist

回答

1

所以我不熟悉的rlist包,但如果我是在基礎R工作,我明白你的問題,我會做這樣的事情:

States=c("VA", "MA", "PA") 
stateList <- vector("list", length(States)) 
for(i in 1:length(States)){ 
    stateList[[i]] <- list(population = something, size = something) 
} 
names(stateList) <- States 

再次不熟悉的rlist但是總的來說,如果你知道任何對象的大小,它更有效地聲明它而不是增加它。