矢量化之间:数据表R

时间:2017-07-14 15:20:13

标签: r data.table vectorization between

我很难理解Vectorised between包文档data.table中的“V1.10.4”示例?

X = data.table(a=1:5, b=6:10, c=c(5:1))
> X
   a  b c
1: 1  6 5
2: 2  7 4
3: 3  8 3
4: 4  9 2
5: 5 10 1

# NEW feature in v1.9.8, vectorised between
> X[c %between% list(a,b)]
   a b c
1: 1 6 5
2: 2 7 4
3: 3 8 3

X[between(c, a, b)] # same as above

有人可以向我解释一下它的剂量如何?为什么只选择了来自5,4,3的{​​{1}}?感谢。

1 个答案:

答案 0 :(得分:2)

-----发表于评论----

第4行中,2不在49 .... between(c=2,a=4,b=9)之间。

between使用>=<=(而不是><)。这就是为什么在第3行中,它返回3(因为它的TRUE