在循环中命名和附加列表列表

Naming and appending list of lists inside a loop

我正在创建一个列表,方法是根据州的循环附加列表,并用每个州的名称命名每个子列表:

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))

}

它有效,但每个子列表都是名称 "i" 而不是州名;如果我尝试包含 get(I)=get(I) 我会收到错误消息。我怎样才能让名字起作用?以及任何改进此代码的建议都将受到欢迎。

所以我不熟悉 rlist 包,但如果我在 base 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,但通常如果您知道任何对象的大小,声明它比添加它更有效。