Поскольку вы не предоставили примерный набор данных, вот воспроизводимый пример, основанный на некоторых примерных данных, которые я генерирую
set.seed(2018)
lst <- replicate(4, sample(10), simplify = FALSE)
qrt <- lapply(lst, quantile, probs = c(0.25, 0.75))
Здесь я сгенерировал квантили 25% и 75% для каждого vector
в list
;В результате получается list
с таким количеством элементов, как list
.
. Теперь мы можем использовать Map
для выбора только тех элементов из list
, которые попадают в диапазон квантилей
Map(function(x, y) x[x >= y[1] & x <= y[2]], lst, qrt)
#[[1]]
#[1] 4 5 7 6
#
#[[2]]
#[1] 4 6 5 7
#
#[[3]]
#[1] 6 5 4 7
#
#[[4]]
#[1] 4 7 6 5
Для подсчета количества элементов в квантильном диапазоне
Map(function(x, y) sum(x >= y[1] & x <= y[2]), lst, qrt)
#[[1]]
#[1] 4
#
#[[2]]
#[1] 4
#
#[[3]]
#[1] 4
#
#[[4]]
#[1] 4