我有一个清单
alist <- list(c(1,2,9),c(4,5,4),c(3,11,19))
和常数
value <- 4
我想从列表中返回向量的第一个元素等于常量的向量(即(4,5,4))。我想在基地R做这个。任何人都可以帮忙吗?
答案 0 :(得分:4)
我们可以使用list
遍历sapply
,提取第一个元素,将其与&#39; value&#39;进行比较。得到一个逻辑vector
和子集&#39; alist&#39;基于那个
alist[sapply(alist, `[`, 1) == value]
或Filter
Filter(function(x) x[1] == value, alist)
如果我们使用purrr
purrr::keep(alist, ~ .x[1] == value)