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.