Mike L
Mike L

Reputation: 496

subsetting data using multiple variables in R

I have a data set, DATA, with many variables. DATA has a list mode and its class is a data.frame. The variables I'm concerned with are AGE.MONTHS and LOCATION. I need to subset DATA into another set called SUB, and I want SUB to only contain the observations where AGE.MONTHS <= 2 and LOCATION = "Area A". AGE.MONTHS is has a numeric mode and class. LOCATION has a numeric mode and its class is a factor. I have tried the following,

SUB<-which((DATA$AGE.MONTHS <= 2 )& (DATA$LOCATION=="Area A"))

But this only tells me which observations these conditions hold true for, and what I need is a subset of all the data for which these conditions hold. Thanks for your help.

Upvotes: 2

Views: 33750

Answers (2)

Matthew Lundberg
Matthew Lundberg

Reputation: 42639

If this is in a program, you are better to use [ than subset. For example, see here: Why is `[` better than `subset`?

To subset with [, you want this:

DATA[with(DATA, AGE.MONTHS <= 2 & LOCATION == "Area A"), ]

Upvotes: 4

Victor K.
Victor K.

Reputation: 4094

Use the subset function.

subset(DATA, AGE.MONTHS <= 2 & LOCATION == "Area A")

Upvotes: 7

Related Questions