我构建了一个空列表,但是带有名字,如下所示:
lvls = letters[1:5]
tree <- tree <- vector("list", length(lvls))
names(tree) <- lvls
现在我想将一个obj(在本例中是另一个列表)分配给列表中的每个名称,但是在循环中使用变量。我有这个:
for(l in lvls){
tree[[l]] <- vector("list", 5)
}
但它分配给索引而不是名字。我需要的是:
for(l in lvls){ 树$ l&lt; - vector(“list”,5)}
但是这不起作用,b / c l
被视为文字而不是变量。谁知道我怎么能改变它?
修改
我没有全面掌握R数据结构。但看起来我使用的赋值格式确实有效,只是为扩展名指定列表是有问题的。
for(l in lvls){
tree[[l]] <- "test_string"
}
据我所知,上面的代码确实分配了类似于tree$var_name
的代码。
答案 0 :(得分:0)
使用此循环时,您需要的输出不清楚:
for (l in lvls){
tree[[l]] <- vector("list", 5)
}
生成五个列表的列表
$a
$a[[1]]
NULL
$a[[2]]
NULL
$a[[3]]
NULL
$a[[4]]
NULL
$a[[5]]
NULL
....