21

が下界と上界の間にあるかどうかを確認するために、中置演算子%between%を--に入れたいと思います。 Rxlu

次の単純な関数を作成しましたが、これは中置演算ではありません。

# between function - check to see if x is between l and u
is.between <- function(x, l, u) { x > l & x < u }

私の目的は、これを次のものに置き換えることです。x %between% c(l, u)

新しい中置演算を定義することは可能ですか? もしそうなら、どうやってこれを行うのですか?

前もって感謝します

4

3 に答える 3

25

中置演算子を関数として定義できます。

`%between%`<-function(x,rng) x>rng[1] & x<rng[2]
1 %between% c(0,3)
# [1] TRUE
1 %between% c(2,3)
# [1] FALSE

@flodel で指摘されているように、この演算子はベクトル化されています。

1:5 %between% c(1.5,3.5)
# [1] FALSE  TRUE  TRUE FALSE FALSE
于 2013-10-18T03:33:16.667 に答える