Skip to content

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

4 messages · Mark, Chuck Cleland, Andy Bunn +1 more

#
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.
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).

Thanks! Mark
#
THIRD <- merge(FIRST, SECOND, by="ID", all.x=FALSE, all.y=TRUE)
mtb954 at gmail.com wrote:

  
    
#
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,]
#
I think ?merge is what you need. The help page of this
function is very....helpful

Marco
--- mtb954 at gmail.com wrote: