[R] How to check to see if a variable is within a range of another variable

Peter Langfelder peter.langfelder at gmail.com
Thu Oct 2 00:29:15 CEST 2014


On Wed, Oct 1, 2014 at 3:11 PM, Kate Ignatius <kate.ignatius at gmail.com> wrote:
> Is there an easy way to check whether a variable is within  +/- 10%
> range of another variable in R?

Yes,

checkRange = function(A, B, range = 0.1)
{
  A>=B*(1-range) & A<=B*(1+range);
}

Test:

A = c(67, 24, 40, 10, 70, 101, 9)
B = c(76, 23, 45, 12, 72, 90, 12)

outcome = checkRange(A, B)

You can create the desired data frame for example as

data.frame (A = A, B=B, C = c("no", "yes")[outcome+1])

>
> Say, if I have a variable 'A', whether its in +/- 10% range of
> variable 'B' and if so, create another variable 'C' to say whether it
> is or not?

What do you mean by range of variable B? In your example below, 40 is
not within 10% of 45, which is 4.5; 10 is not within 10% of 12 which
is 1.2.
>
> eventual outcome:
> A B C
> 67 76 no
> 24 23 yes
> 40 45 yes
> 10 12 yes
> 70 72 yes
> 101 90 no
> 9 12 no


HTH,

Peter



More information about the R-help mailing list