gpt4 book ai didi

r - 如何使用 purrr 包有条件地子集列表

转载 作者:行者123 更新时间:2023-12-01 18:06:06 24 4
gpt4 key购买 nike

我有以下列表:

x <- list(1:5, 1:10)
x
#> [[1]]
#> [1] 1 2 3 4 5

#> [[2]]
#> [1] 1 2 3 4 5 6 7 8 9 10

并且只想选择包含 10 的元素。

期望的结果:

#> [[1]]
#> [1] 1 2 3 4 5 6 7 8 9 10

如何使用管道运算符和 purrr 包在单行中简洁地完成此操作?

下面。代码可以工作,但感觉有点笨拙。

x %>% map_lgl(~contains(.,10L)) %>% subset(x,.)

是否有更好的方法使用 x 和管道运算符各一次?

最佳答案

您可以使用purrr::keep

library(purrr)

x <- list(1:5, 1:10)

x

#> [[1]]
#> [1] 1 2 3 4 5
#>
#> [[2]]
#> [1] 1 2 3 4 5 6 7 8 9 10

x %>% keep(~ 10 %in% .x)

#> [[1]]
#> [1] 1 2 3 4 5 6 7 8 9 10

关于r - 如何使用 purrr 包有条件地子集列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44275273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com