[R] builtin to filter a list?
Whit Armstrong
armstrong.whit at gmail.com
Wed Oct 29 14:06:59 CET 2008
I know it's easy to write a simple loop to do this, but in the spirit
of lapply, I thought I would ask if there is a builtin to filter or
take a subset of a list based on a predicate in a similar way to the
Erlang lists:filter/2 function:
http://www.erlang.org/doc/man/lists.html#filter-2
filter(Pred, List1) -> List2
Types:
Pred = fun(Elem) -> bool()
Elem = term()
List1 = List2 = [term()]
List2 is a list of all elements Elem in List1 for which Pred(Elem) returns true.
I've tried the simple case in R already:
> x <- rnorm(10)
> xl <- as.list(x)
> xl[[ x > 0]]
Error in xl[[x > 0]] : attempt to select less than one element
>
Thanks,
Whit
More information about the R-help
mailing list