Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compare two dataframes for changes in variable value in R

I'm trying to compare two dataframes with the exact same amount of rows and variables, for changes in variable value per unique ID (returning True if the value is the same, and false if it is different). Here's an example of how the data looks:

df1

id col1 col2
1  abc  123
2  def  456
3  ghi  789

df2

col1 id col2
ghe  3  789
abc  1  123
def  2  455

And I guess I would have the result of the comparison be in df3

id col1 col2
1  true true
2  true false
3  false true

Any help would be greatly appreciated! Hopefully I've made this somewhat clear.

like image 604
chrischunli Avatar asked Jul 25 '26 09:07

chrischunli


1 Answers

Try this:

cbind.data.frame(id=df1$id, df1[-1]==df2[match(df1$id, df2$id), names(df1)[-1]])

#  id  col1  col2
#1  1  TRUE  TRUE
#2  2  TRUE FALSE
#3  3 FALSE  TRUE
like image 135
989 Avatar answered Jul 28 '26 00:07

989