On Oct 29, 2009, at 7:05 PM, Adrian Johnson wrote:

Dear group,
I have two data.frames X and Y identical except for values.

X
   gene   fc
A1CF   -0.10050677
A2BP1  -2.03093217
A2M      -0.09092704
A4GALT 0.04124563
A4GNT  -0.10336042

Y
      gene   fc
A1CF      -0.085709770
A2BP1      1.058642812
A2M         0.142530426
A4GALT    0.009463123
A4GNT     -0.057584059

I am interested in finding A2BP1 that is negative in X and positive in
Y. How could I search for reverse values.
thank you.
-Ad

Use ?merge and ?subset:

> merge(X, Y, by = "gene")
    gene        fc.x         fc.y
1   A1CF -0.10050677 -0.085709770
2  A2BP1 -2.03093217  1.058642812
3    A2M -0.09092704  0.142530426
4 A4GALT  0.04124563  0.009463123
5  A4GNT -0.10336042 -0.057584059


> subset(merge(X, Y, by = "gene"), (fc.x < 0) & (fc.y > 0))
   gene        fc.x      fc.y
2 A2BP1 -2.03093217 1.0586428
3   A2M -0.09092704 0.1425304


> subset(merge(X, Y, by = "gene"),
         (fc.x < 0) & (fc.y > 0) & (gene == "A2BP1"))
   gene      fc.x     fc.y
2 A2BP1 -2.030932 1.058643


Alter the comparisons depending upon how you might need to deal with 0 values.

HTH,

Marc Schwartz

______________________________________________
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