Dear all, could you please give me some pointers on how I could make R screen for a value if it falls within a certain range? I looked at the subset function, but is not doing it, perhaps because I only have 1 value to screen? aptreciate the input ex: a <-16.5 I would like to screen to see if a is within the range of 15 to 20, (which it is:-)), and I would like the code to return a value of 1 if a is within the specified range or 0 if it is not. Apreciate the insights, Andras [[alternative HTML version deleted]]
15 < a & a < 20
Wrap it in a function if you like:
in_interval <- function(x, interval){
stopifnot(length(interval) == 2L)
interval[1] < x & x < interval[2]
}
in_interval(a, c(15, 20))
Cheers,
Michael
On Sat, Dec 1, 2012 at 4:50 PM, Andras Farkas <motyocska at yahoo.com>
wrote:>
> could you please give me some pointers on how I could make R screen for a
value if it falls within a certain range?
> I looked at the subset function, but is not doing it, perhaps because I
only have 1 value to screen?
>
> aptreciate the input
>
> ex:
> a <-16.5
> I would like to screen to see if a is within the range of 15 to 20, (which
it is:-)), and I would like the code to return a value of 1 if a is within the
specified range or 0 if it is not.
>
On 12/1/2012 10:50 AM, Andras Farkas wrote:> Dear all, > > could you please give me some pointers on how I could make R screen for a value if it falls within a certain range? > I looked at the subset function, but is not doing it, perhaps because I only have 1 value to screen? > > aptreciate the input > > ex: > a <-16.5 > I would like to screen to see if a is within the range of 15 to 20, (which it is:-)), and I would like the code to return a value of 1 if a is within the specified range or 0 if it is not. > > Apreciate the insights, > > Andras > [[alternative HTML version deleted]]a = 16.5 ans = (a >= 15 & a <= 20) ans [1] TRUE Rob
On Dec 1, 2012, at 9:55 AM, R. Michael Weylandt wrote:> 15 < a & a < 20 > > Wrap it in a function if you like: > > in_interval <- function(x, interval){ > stopifnot(length(interval) == 2L) > interval[1] < x & x < interval[2] > } > > in_interval(a, c(15, 20)) >Could just use the findInterval function: findInterval(x, c(15,20) ) == 1 findInterval returns a numeric vector indicating which bin(s) the argument vector element(s) fall(s) into. Items below the lower bound get a zero which means if the result is used as an index the there will be no item chosen for that value. Items above the maximal boundary get a value of n+1 where n is the number of bins. (Very useful function.) -- David.> Cheers, > Michael > > On Sat, Dec 1, 2012 at 4:50 PM, Andras Farkas <motyocska at yahoo.com> > wrote: >> >> could you please give me some pointers on how I could make R screen >> for a value if it falls within a certain range? >> I looked at the subset function, but is not doing it, perhaps >> because I only have 1 value to screen? >> >> aptreciate the input >> >> ex: >> a <-16.5 >> I would like to screen to see if a is within the range of 15 to 20, >> (which it is:-)), and I would like the code to return a value of 1 >> if a is within the specified range or 0 if it is not. >> > > ______________________________________________ > R-help at 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.David Winsemius, MD Alameda, CA, USA