从列表元素生成列表

时间:2018-08-20 11:00:10

标签: r list apply

我有以下列表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))的不同组合,但是注意到似乎给了我类似上面的输出。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

L1 <- list(A = c(101, 201),
           B = c(90, 91))

#nested lapply loops
lapply(L1, lapply, function(x) x + -1:1)