向量化:数据表 R

Posted

技术标签:

【中文标题】向量化:数据表 R【英文标题】:Vectorised between: datatable R 【发布时间】:2017-07-14 15:20:13 【问题描述】:

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

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

有人可以向我解释一下它是如何工作的吗?为什么只选择了c 中的5,4,3?谢谢。

【问题讨论】:

在第 4 行中,2 不在 49....between(c=2,a=4,b=9) 之间。 between 使用 >=<=(而不是 ><)。这就是为什么在3 行中,它返回3(因为它是TRUE @ChiPak 非常感谢,现在非常清楚! :) @ChiPak 可能想把它变成一个答案:) 【参考方案1】:

-----在 cmets 中发布----

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

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

【讨论】:

以上是关于向量化:数据表 R的主要内容,如果未能解决你的问题,请参考以下文章

R中真正快速的词ngram向量化

R语言进阶之4:数据整形(reshape)

在R中向量化复杂的dplyr语句

R语言向量化运算:apply函数族用法心得

R语言——符号函数(向量化)

R语言——符号函数(向量化)