[R] subset() multiple arguments

Duncan Murdoch murdoch at stats.uwo.ca
Mon Jul 7 21:27:59 CEST 2008

On 7/7/2008 3:19 PM, stephen sefick wrote:
> This is what I would like to do and it works just fine.  Is there a way to
> shorten this code so I don't have to subset a subset of a subset?
> d<-subset(subset(subset(subset(x, River.Mile<=202), River.Mile>3),
> Lagrangian=="Yes"), EventType=="Regular")

You can combine logical tests using &:

d <- subset(x, (River.Mile<=202) & (River.Mile>3) & (Lagrangian=="Yes") 
& (EventType=="Regular"))

(The parentheses around the tests are not necessary, but they mean you 
don't need to check the operator precedence table, and your test would 
work in some other language with different rules.)

Duncan Murdoch

More information about the R-help mailing list