我通过基于State的循环附加列表并使用每个State的名称命名每个子列表来创建列表:
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)我得到一个错误。我怎么能让名字有效?并且欢迎任何改进此代码的建议。
答案 0 :(得分: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,但通常如果你知道任何对象的大小,那么声明它而不是添加它会更有效。