Thanks Peter and Mark, the subset and %in% commands did the job. For future reference, or for others reading this message, the code I ended up using was:
> third <- subset(first, ID %in% second$ID) Mark On 8/7/06, Marc Schwartz (via MN) <[EMAIL PROTECTED]> wrote: > On Mon, 2006-08-07 at 14:05 -0600, Mark Na wrote: > > Dear R community, > > > > I have two dataframes "first" and "second" which share a unique identifier. > > > > I wish to make a new dataframe "third" retaining only the rows in > > "first" which also occur in "second". > > > > I have tried using merge but can't seem to figure it out. Any ideas? > > > > Thanks! > > > > Mark > > Do you want to actually join (merge) matching rows from 'first' and > 'second' into 'third', or just get a subset of the rows from 'first' > where there is a matching UniqueID in 'second'? > > In the first case: > > third <- merge(first, second, by = "UniqueID") > > Note that the UniqueID column is quoted. > > > In the second case: > > third <- subset(first, UniqueID %in% second$UniqueID) > > See ?merge, ?"%in%" and ?subset > > HTH, > > Marc Schwartz > > > ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.