【问题标题】:Assign obj to a list empty list by name and using variable按名称和使用变量将 obj 分配给列表空列表
【发布时间】:2017-09-17 06:34:33
【问题描述】:

我构建了一个空列表,但名称如下:

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 在 lvls){ 树$l

但这不起作用,b/c l 被视为文字而不是变量。有谁知道我该如何改变它?

编辑:

我对 R 数据结构没有透彻的了解。但看起来我使用的分配格式确实有效,只是为扩展名分配一个列表是有问题的。

for(l in lvls){
  tree[[l]] <- "test_string"
}

据我所知,上面的代码确实类似于tree$var_name

【问题讨论】:

    标签: r list


    【解决方案1】:

    使用此循环时,您需要的输出不清楚:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      • 2015-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-05
      相关资源
      最近更新 更多