[R] How to select only certain rows when making a new dataframe?

Andy Bunn abunn at whrc.org
Tue Feb 21 19:09:33 CET 2006


> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch
> [mailto:r-help-bounces at stat.math.ethz.ch]On Behalf Of mtb954 at gmail.com
> Sent: Tuesday, February 21, 2006 12:54 PM
> To: r-help at stat.math.ethz.ch
> Subject: [R] How to select only certain rows when making a new
> dataframe?
> 
> 
> Dear R-users,
> 
> I have two data frames. The "FIRST" data frame has 100 rows, the
> "SECOND" data frame has only 50 rows.
> 
> The data frames have different variables in columns ("VAR1," "VAR2,"
> etc) but they share a column called "ID" that contains a unique
> identifer linking the two data frames.
> 
> I would like to make a "THIRD" data frame containing just the rows of
> the "FIRST" data frame that match the rows (on "ID") in the "SECOND"
> data frame.
> 
> >THIRD=data.frame(FIRST$ID,FIRST$VAR1,FIRST$VAR2)
> 
> How can I modify this line to include in "THIRD" just the rows in
> "FIRST" that match the rows in "SECOND"? (i.e., contain the same value
> in the shared "ID" column).

List this?

one <- data.frame(ID = 1:100, Var1 = runif(100), Var2 = runif(100))
two <- data.frame(ID = 26:50, VarA = runif(50), VarB = runif(50))
three <- one[one$ID == two$ID,]




More information about the R-help mailing list