过滤列表中的一个元素

我有一个清单:

name_lst <- list(one = c("John", "Paul", "Ringo", "Kramer"), 
                 two = c("Jerry", "Kramer", "George", "Elaine"))

我想从中删除“ Kramer” name_lst[[SOME_VECTOR]],但返回列表的其余部分。希望输出为:

name_lst
$one
[1] "John"  "Paul" "Ringo"
$two
[1] "Jerry"  "Kramer"  "George"  "Elaine"

理想情况下,我可以删除整个名称,而不仅仅是“ Kramer”(例如,! %in% c("George", "Kramer")。我已经尝试过:

name_lst[name_lst[1] != "Kramer"]
name_lst[name_lst[[1]] != "Kramer"]
name_lst[name_lst$one != "Kramer"]
name_lst[!(name_lst$one %in% "Kramer")]
name_lst[[name_lst[1] != "Kramer"]]
name_lst[[name_lst[[1]] != "Kramer"]]
name_lst[[name_lst$one != "Kramer"]]
name_lst[[!(name_lst$one %in% "Kramer")]]

这些都返回错误或相同列表,而没有任何更改。

您可以指定要在其中查找的元素,然后过滤并重新分配给该特定列表元素:

name_lst[["one"]] <- 
    name_lst[["one"]][!(name_lst[["one"]] %in% c("Kramer", "SomeoneElse"))]

name_lst
#$one
#[1] "John"   "Paul"   "Ringo"  
#
#$two
#[1] "Jerry"  "Kramer"  "George" "Elaine"  

如注释中所述,如果您不想执行重新分配但想获取一个新对象,则使用方法purrr::map_if是一种。

library(purrr)
NEW_NAME <- name_lst %>%
    map_if(.p = names(.) == "two", ~ .[!(. %in% c("Kramer", "SomeoneElse"))])
# OR, without pipes:
NEW_NAME <- map_if(name_lst,
                   names(name_lst) == "two",
                   ~ .x[!(.x %in% c("Kramer", "SomeoneElse"))])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python使用另一个列表中的元素过滤出一个列表

来自分类Dev

R-使用列表中每个项目的第一个元素过滤列表

来自分类Dev

按Java列表中的第一个元素过滤

来自分类Dev

在python 3中过滤一个过滤列表

来自分类Dev

在列表中获取一个元素

来自分类Dev

根据另一个列表中的元素重复一个列表中的元素

来自分类Dev

根据另一个列表中的元素重复一个列表中的元素

来自分类Dev

如何过滤其中一个系列中列表元素的值为true的两个Dataframe系列

来自分类Dev

比较列表中的元素并创建一个新元素

来自分类Dev

获取列表列表中的上一个元素

来自分类Dev

比较列表列表中的一个元素

来自分类Dev

获取列表列表中的上一个元素

来自分类Dev

如何从另一个项目列表中过滤一个项目列表?

来自分类Dev

在一个查询中按多个边界过滤列表

来自分类Dev

根据另一个列表中的索引汇总一个列表中的元素

来自分类Dev

使用“ while”从另一个列表中删除一个列表中的元素

来自分类Dev

从另一个列表中的一个列表中查找元素数

来自分类Dev

迭代Python列表并根据另一个列表过滤元素

来自分类Dev

在Mathematica中处理列表中的一个元素

来自分类Dev

根据另一个向量中的元素过滤/复制一个向量

来自分类Dev

检查下一个元素是否是STL列表中的最后一个元素

来自分类Dev

每隔一个元素向列表中添加一个元素

来自分类Dev

将列表的元素作为最后一个元素插入到python列表中的列表中

来自分类Dev

从另一个列表检查一个列表中的元素

来自分类Dev

将一个元素从一个列表移到另一个列表中

来自分类Dev

Python:嵌套列表中的第一个元素

来自分类Dev

将最后一个元素放在列表Erlang中

来自分类Dev

Python中的最后一个元素列表

来自分类Dev

从列表中删除一个元素并返回结果

Related 相关文章

  1. 1

    Python使用另一个列表中的元素过滤出一个列表

  2. 2

    R-使用列表中每个项目的第一个元素过滤列表

  3. 3

    按Java列表中的第一个元素过滤

  4. 4

    在python 3中过滤一个过滤列表

  5. 5

    在列表中获取一个元素

  6. 6

    根据另一个列表中的元素重复一个列表中的元素

  7. 7

    根据另一个列表中的元素重复一个列表中的元素

  8. 8

    如何过滤其中一个系列中列表元素的值为true的两个Dataframe系列

  9. 9

    比较列表中的元素并创建一个新元素

  10. 10

    获取列表列表中的上一个元素

  11. 11

    比较列表列表中的一个元素

  12. 12

    获取列表列表中的上一个元素

  13. 13

    如何从另一个项目列表中过滤一个项目列表?

  14. 14

    在一个查询中按多个边界过滤列表

  15. 15

    根据另一个列表中的索引汇总一个列表中的元素

  16. 16

    使用“ while”从另一个列表中删除一个列表中的元素

  17. 17

    从另一个列表中的一个列表中查找元素数

  18. 18

    迭代Python列表并根据另一个列表过滤元素

  19. 19

    在Mathematica中处理列表中的一个元素

  20. 20

    根据另一个向量中的元素过滤/复制一个向量

  21. 21

    检查下一个元素是否是STL列表中的最后一个元素

  22. 22

    每隔一个元素向列表中添加一个元素

  23. 23

    将列表的元素作为最后一个元素插入到python列表中的列表中

  24. 24

    从另一个列表检查一个列表中的元素

  25. 25

    将一个元素从一个列表移到另一个列表中

  26. 26

    Python:嵌套列表中的第一个元素

  27. 27

    将最后一个元素放在列表Erlang中

  28. 28

    Python中的最后一个元素列表

  29. 29

    从列表中删除一个元素并返回结果

热门标签

归档