【问题标题】:r - check is all elements of a list match a vector exactlyr - 检查列表的所有元素是否与向量完全匹配
【发布时间】:2020-03-12 00:49:46
【问题描述】:

我有一个列表元素list_1,然后是一个向量vec_1。我希望能够确定是否在向量中找到了列表元素的所有元素。它们需要完全匹配,如果未找到列表元素,则应打印该元素。例如,如果我循环通过list_1[1],它会返回TRUE,但如果我循环通过list_1[2],它会返回foobars

list_1 <- list(x = c("apple", "toast"), y = c("foo", "bar", "bars"))
vec_1 <- c("pear", "apple", "toast", "x", "foos", "bar")

【问题讨论】:

    标签: r lapply purrr grepl


    【解决方案1】:

    我们可以使用lapply

    lapply(list_1, function(x) if(all(x %in% vec_1)) TRUE else setdiff(x, vec_1))
    
    #$x
    #[1] TRUE
    
    #$y
    #[1] "foo"  "bars"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-24
      • 2013-09-19
      • 2021-09-07
      • 1970-01-01
      相关资源
      最近更新 更多