在循环中命名和附加列表列表
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,但通常如果您知道任何对象的大小,声明它比添加它更有效。
我正在创建一个列表,方法是根据州的循环附加列表,并用每个州的名称命名每个子列表:
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,但通常如果您知道任何对象的大小,声明它比添加它更有效。