R: Filter a list or vector by a series of conditions

list.filter {rlist} | R Documentation

## Filter a list or vector by a series of conditions

### 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

    list.filter(.data, ...)

### Arguments

`.data` | A `list` or `vector`
`...` | logical conditions

### Value

elements in `.data` satisfying all conditions

### Examples

    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)

[Package rlist version 0.4.6.1 Index]