簡體   English   中英

根據條件從列表返回向量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM