Reputation: 496
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
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
Reputation: 4094
Use the subset
function.
subset(DATA, AGE.MONTHS <= 2 & LOCATION == "Area A")
Upvotes: 7