On Jul 21, 2009, at 11:28 AM, Dieter Menne wrote:




MarcioRibeiro wrote:

I have a problem in identifying a value between two vectors...
Suppose vector A is...
0.0000 0.0909 0.0909 0.1818 0.2727 0.3636 0.4545 0.6363 0.0000 0.0000
0.0000 0.0000
And vector B is...
3   5   7  18  43  85  91  98 100 130 230 487
I would like to identify the value of vector B that vector A is bigger than 0.5, this means that I want to identify the 9-th value of vector B,
that is 98.
I know how to do that if I had the both vectors as a matrix, but I want to
do this procedure with two vectors...


Not much of a difference...

a=c(0.0000,0.0909,0.0909,0.1818,0.2727,0.3636,0.545,0.6363,
 0.0000,0.0000,0.0000,0.0000)
b= c(3,5,7,18,43,85,91,98,100,130,230,487)
b[min(which(a>0.5))] #but fails ungraciously if there is no solution

Or, more simply:

R> a <- c(0.0000, 0.0909, 0.0909, 0.1818, 0.2727, 0.3636, 0.4545, 0.6363, 0.0000, 0.0000, 0.0000, 0.000)
R> b <- c(3, 5, 7, 18, 43, 85, 91, 98, 100, 130, 230, 487)
R> b[a > .5]
[1] 98

Won't fail ungraciously if there is no solution:

R> b[a > .8]
numeric(0)

Is that what you're after?

-steve

--
Steve Lianoglou
Graduate Student: Physiology, Biophysics and Systems Biology
Weill Medical College of Cornell University

Contact Info: http://cbio.mskcc.org/~lianos/contact

______________________________________________
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