[英]return a vector from a list based on a condition
我有一個清單
alist <- list(c(1,2,9),c(4,5,4),c(3,11,19))
和一個常數
value <- 4
我想從向量的第一個元素等於常數的列表中返回向量(即(4,5,4))。 我想在R基地做這個。有人可以幫忙嗎?
我們可以使用sapply
遍歷list
,提取第一個元素,將其與“值”進行比較以獲得邏輯vector
並基於該子集對“ alist”進行子集化
alist[sapply(alist, `[`, 1) == value]
或搭配Filter
Filter(function(x) x[1] == value, alist)
如果我們使用purrr
purrr::keep(alist, ~ .x[1] == value)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.