访问嵌套在 R 列表中的向量的倒数第二个元素

NBK*_*NBK 5 indexing r list

*存在类似问题,但不要回答我的具体问题。

在嵌套列表中,访问每个向量的倒数第二个元素的优雅方式是什么。拿下面的清单:

l <- list(c("a","b","c"),c("c","d","e","f"))
Run Code Online (Sandbox Code Playgroud)

如何生成一个新列表(或向量),其中包含列表中每个向量的倒数第二个元素l?输出应如下所示:

[[1]]
[1] "b"

[[2]]
[1] "e"
Run Code Online (Sandbox Code Playgroud)

我通过 访问每个向量的最后一个元素lapply(l,dplyr::last),但不确定如何选择倒数第二个元素。非常感激。

Ral*_*ner 4

尝试这个:

l <- list(c("a","b","c"),c("c","d","e","f"))
lapply(l, function(x) x[length(x) -1])
#> [[1]]
#> [1] "b"
#> 
#> [[2]]
#> [1] "e"
Run Code Online (Sandbox Code Playgroud)