[R] Select value according two vectors...

Steve Lianoglou mailinglist.honeypot at gmail.com
Tue Jul 21 17:56:05 CEST 2009


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




More information about the R-help mailing list