【发布时间】:2013-07-01 10:52:21
【问题描述】:
根据data.table ver 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
这个想法来自一个包含两个向量的列表,这向我建议了这种可能的用法:
`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
【问题讨论】:
-
答案是否定的。您应该能够覆盖任何包中的任何功能,这不应该影响包。
-
@agstudy 好的,谢谢,只是想知道任何依赖项(就其他调用这个函数而言)以及
[[与[与原子向量。再次感谢
标签: r data.table