【问题标题】:generate a list from list elements从列表元素生成列表
【发布时间】:2018-08-20 11:00:10
【问题描述】:

我有以下列表L1

$`A`
[1] 101 201

$B
[1] 90 91

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

$`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)) 行的不同组合,但注意到似乎给了我类似上面的输出。

任何帮助将不胜感激!

【问题讨论】:

    标签: r list apply


    【解决方案1】:
    L1 <- list(A = c(101, 201),
               B = c(90, 91))
    
    #nested lapply loops
    lapply(L1, lapply, function(x) x + -1:1)
    

    【讨论】:

    • 或简称lapply(L, lapply, '+', -1:1)
    猜你喜欢
    • 1970-01-01
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 2021-08-16
    相关资源
    最近更新 更多