按名称和使用变量将obj分配给列表空列表

时间:2017-09-17 06:34:33

标签: r list

我构建了一个空列表,但是带有名字,如下所示:

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的代码。

1 个答案:

答案 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
 ....