On 20/02/2009, at 11:23 AM, Ferry wrote:

Dear R users,

I have the following data:
x <- data.frame( myX = c(1,2,3,4,5,6,7,8,9) )
y <- data.frame( myX = c(1,2,3,4,5,6,7) )

How can I get the difference between data frame x and y? In this case,
I want to get values 8 and 9

I know in SQL we can use minus operator, but I have no idea how to do so in R.

I tried all.equal, diff, and identical, but they don't give me the
actual data difference.

First of all, you ***don't*** want the ``difference between two data frames''. What you (apparently) want is the ***set difference*** between two ***vectors***
each of which is (irrelevantly) stored inside a different data frame.

You can get what you want using the function setdiff().  E.g.:

> setdiff(x$myX,y$myX)
[1] 8 9


Data frames as such do not come into it. You are just confusing the issue
by referring to them.  I.e. you could have much more simply said:

``
x <- c(1,2,3,4,5,6,7,8,9)
y <- c(1,2,3,4,5,6,7)

How do I get the difference c(8,9)?''

(Answer: setdiff(x,y).)

        cheers,

                Rolf



######################################################################
Attention:\ This e-mail message is privileged and confid...{{dropped:9}}

______________________________________________
R-help@r-project.org 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.

Reply via email to