2

data.tableバージョン 1.8.8では%between%、次のように定義されています。

> `%between%`
function (x, y) 
between(x, y[1], y[2], incbounds = TRUE)
<bytecode: 0x0000000050912810>
<environment: namespace:data.table>

この小さな変更で、この関数はベクトル化されると思いました。

function (x, y) 
    between(x, y[[1]], y[[2]], incbounds = TRUE)

お気に入りbetween

s <- c(2, 5)
d <- c(7, 9)
> between(3, s, d)
[1]  TRUE FALSE

このアイデアは、2 つのベクトルを含むリストを使用することから生まれました。

`between2%` <- function(x, lst) between(x, lst[[1]], lst[[2]], incbounds = TRUE)

> 3%between%c(s,d)
[1] TRUE
> 3%between2%list(s,d)
[1]  TRUE FALSE

私の質問は次のとおりです。置き換えた場合、パッケージ%between%内の機能は影響を受けますか? data.table私はそうすべきではないと思います.[[アトミックベクトルで動作するはず[です. 私は正しいですか?ありがとう

> 3%between2%c(1,5)
[1] TRUE
4

1 に答える 1