【问题标题】:R adding to a list (nested list)R 添加到列表(嵌套列表)
【发布时间】:2014-02-25 11:29:23
【问题描述】:

我有list1:

 list1<-list("outliers"=list("values"=list(list(c("a","b","c"),
                                           "dimensionKey"=2101120,
                                           "metric"="1")
                                      )
                        )
        )

 > list1
$outliers
$outliers$values
$outliers$values[[1]]
$outliers$values[[1]][[1]]
[1] "a" "b" "c"

$outliers$values[[1]]$dimensionKey
[1] 2101120

$outliers$values[[1]]$metric
[1] "1"

我需要将值添加到此列表中:

list2<-list(c("e", "f", "g", "m"),
 "dimensionKey"=2101120,
 "metric"="2")

我想让 rezult 看看:

   $outliers
   $outliers$values
   $outliers$values[[1]]
   $outliers$values[[1]][[1]]
   [1] "a" "b" "c"

   $outliers$values[[1]]$dimensionKey
   [1] 2101120

   $outliers$values[[1]]$metric
   [1] "1"

   $outliers$values[[2]]
   $outliers$values[[2]][[1]]
   [1] "e" "f" "g" "m"

   $outliers$values[[2]]$dimensionKey
   [1] 2101120

   $outliers$values[[2]]$metric
   [1] "2"

我该如何管理?

P.S.:我的函数需要它来添加现有列表值,因此我无法一步完成。

谢谢!

【问题讨论】:

    标签: r list nested add


    【解决方案1】:

    您可以使用这种方法:

    list1$outliers$values <- append(list1$outliers$values, list(list2))
    

    结果(list1):

    $outliers
    $outliers$values
    $outliers$values[[1]]
    $outliers$values[[1]][[1]]
    [1] "a" "b" "c"
    
    $outliers$values[[1]]$dimensionKey
    [1] 2.10112e+06
    
    $outliers$values[[1]]$metric
    [1] "1"
    
    
    $outliers$values[[2]]
    $outliers$values[[2]][[1]]
    [1] "e" "f" "g" "m"
    
    $outliers$values[[2]]$dimensionKey
    [1] 2.10112e+06
    
    $outliers$values[[2]]$metric
    [1] "2"
    

    【讨论】:

    • 谢谢你的想法!但是如何使最后几行看起来像我的: $outliers$values[[2]]$dimensionKey ?您的答案在 $values 之后没有 [[2]]
    • @user3227114 抱歉,现在解决方案要简单得多。
    猜你喜欢
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    • 2013-07-24
    • 2021-01-23
    • 2017-12-07
    • 1970-01-01
    • 2022-01-20
    • 2019-01-31
    相关资源
    最近更新 更多