代码之家  ›  专栏  ›  技术社区  ›  Omry Atia

从列表元素生成列表

  •  1
  • Omry Atia  · 技术社区  · 6 年前

    我有以下清单 L1

    $`A`
    [1] 101 201
    
    $B
    [1] 90 91
    

    我想生成一个列表(包含一般数量的元素),其中的每个元素都有一行 一级 包含元素前一个、元素本身和元素后一个的序列,如下所示:

    $`A`
    [[1]] 100 101 102
    [[2]] 200 201 202
    
    $B
    [[1]] 89 90 91
    [[2]] 90 91 92
    

    lapply 加上这条线 function(x) c(seq(x-1), seq(x+1)) ,但注意似乎给了我一个像上面这样的输出。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Roland    6 年前
    L1 <- list(A = c(101, 201),
               B = c(90, 91))
    
    #nested lapply loops
    lapply(L1, lapply, function(x) x + -1:1)