list.filter: Filter a list or vector by a series of conditions

Description Usage Arguments Value Examples

View source: R/list.filter.R

Description

The function recursively filters the data by a given series of conditions. The filter can be a single condition or multiple conditions. .data will be filtered by the first condition; then the results will be filtered by the second condition, if any; then the results will be filtered by the third, if any, etc. The results only contain elements satisfying all conditions specified in ....

Usage

1
list.filter(.data, ...)

Arguments

.data

A list or vector

...

logical conditions

Value

elements in .data satisfying all conditions

Examples

1
2
3
4
5
6
x <- list(p1 = list(type='A',score=list(c1=10,c2=8)),
       p2 = list(type='B',score=list(c1=9,c2=9)),
       p3 = list(type='B',score=list(c1=9,c2=7)))
list.filter(x, type=='B')
list.filter(x, min(score$c1, score$c2) >= 8)
list.filter(x, type=='B', score$c2 >= 8)

Example output

$p2
$p2$type
[1] "B"

$p2$score
$p2$score$c1
[1] 9

$p2$score$c2
[1] 9



$p3
$p3$type
[1] "B"

$p3$score
$p3$score$c1
[1] 9

$p3$score$c2
[1] 7



$p1
$p1$type
[1] "A"

$p1$score
$p1$score$c1
[1] 10

$p1$score$c2
[1] 8



$p2
$p2$type
[1] "B"

$p2$score
$p2$score$c1
[1] 9

$p2$score$c2
[1] 9



$p2
$p2$type
[1] "B"

$p2$score
$p2$score$c1
[1] 9

$p2$score$c2
[1] 9

rlist documentation built on Sept. 5, 2021, 5:30 p.m.