Binary operators which allow the comparison of values in numeric vectors.
x %>=% y x %>>% y x %<=% y x %<<% y x %==% y x %!=% y
x | Any numeric object. |
---|---|
y | Any numeric object. |
A logical vector indicating the result of the element by element comparison. The elements of shorter vectors are recycled as necessary.
These are similar to their counterparts in base
, except a tolerance
fpCompare.tolerance
can be specified via options
to account
for floating point rounding errors:
fpCompare | base |
---------------- | ----------- |
%>=% | >= |
%>>% | > |
%<=% | <= |
%<<% | < |
%==% | == |
%!=% | != |
Inspired by R FAQ 7.31 (http://ow.ly/LiU7K) and this post (http://stackoverflow.com/a/2769618/1380598).
x1 <- 0.5 - 0.3 x2 <- 0.3 - 0.1 x1 == x2 # FALSE on most machines#> [1] FALSEx1 %==% x2 # TRUE everywhere#> [1] TRUE#> [1] TRUE#> [,1] [,2] [,3] [,4] #> a 1.0000000000000000 2.000000000000000 3.000000000000000 4.000000000000000 #> b 0.9999999915031008 2.000000011532205 2.999999996359077 4.000000015320696 #> [,5] [,6] #> a 5.000000000000000 6.00000000000000 #> b 5.000000017618691 5.99999998182226b %<=% a#> [1] TRUE TRUE TRUE FALSE FALSE TRUEb %<<% a#> [1] FALSE FALSE FALSE FALSE FALSE TRUEb %>=% a#> [1] TRUE TRUE TRUE TRUE TRUE FALSEb %>>% a#> [1] FALSE FALSE FALSE TRUE TRUE FALSEb %==% a#> [1] TRUE TRUE TRUE FALSE FALSE FALSEb %!=% a#> [1] FALSE FALSE FALSE TRUE TRUE TRUE