R 根据条件从列表中返回向量

R 根据条件从列表中返回向量,r,R,我有一张单子 alist <- list(c(1,2,9),c(4,5,4),c(3,11,19)) 和一个常数 value <- 4 我想从列表中返回向量,其中向量的第一个元素等于常数,即4,5,4。我想在R基中执行此操作。有人能帮忙吗?我们可以使用sapply循环列表,提取第一个元素,将其与“value”进行比较,得到一个逻辑向量,并在此基础上子集“alist” alist[sapply(alist, `[`, 1) == value] 还是用过滤器 如果我们使用purr

我有一张单子

alist <- list(c(1,2,9),c(4,5,4),c(3,11,19))
和一个常数

value <- 4
我想从列表中返回向量,其中向量的第一个元素等于常数,即4,5,4。我想在R基中执行此操作。有人能帮忙吗?

我们可以使用sapply循环列表,提取第一个元素,将其与“value”进行比较,得到一个逻辑向量,并在此基础上子集“alist”

alist[sapply(alist, `[`, 1) == value]
还是用过滤器

如果我们使用purr

我们可以使用sapply循环列表,提取第一个元素,将其与“value”进行比较,得到一个逻辑向量,并在此基础上子集“alist”

alist[sapply(alist, `[`, 1) == value]
还是用过滤器

如果我们使用purr

purrr::keep(alist, ~ .x[1] == value)