findInterval 位于 base 包(package)。 说明
给定 vec 中的非递减断点向量,找到包含 x 的每个元素的区间;即,如果 i <- findInterval(x,v) ,对于 x 中的每个索引 j ,其中 、 和 N <- length(v) 。在两个边界处,返回的索引可能相差 1,具体取决于可选参数 rightmost.closed 和 all.inside 。
用法
findInterval(x, vec, rightmost.closed = FALSE, all.inside = FALSE,
left.open = FALSE)
参数
x |
数字。 |
vec |
数字,逐渐(弱)排序,长度为 |
rightmost.closed |
逻辑性;如果为 true,则最右边的区间 |
all.inside |
逻辑性;如果为 true,则返回的索引被强制转换为 |
left.open |
逻辑性;如果为 true,则所有区间都在左侧打开并在右侧关闭;在下面的公式中, 应与 交换( 与 交换), |
细节
函数 findInterval 查找一个向量 x 在另一个向量 vec 中的索引,其中后者必须是非递减的。这是微不足道的,相当于 apply( outer(x, vec, `>=`), 1, sum) ,事实上,内部算法使用区间搜索确保 复杂性,其中 n <- length(x) (和 N <- length(vec) )。对于(几乎)排序的 x ,它会更快,本质上是 。
这与经验分布函数的计算相同,实际上, findInterval(t, sort(X)) 与 相同,其中 是 的经验分布函数。
当 rightmost.closed = TRUE 时,x[j] = vec[N] ( ) 的结果是 N - 1 ,就像最后一个间隔中的所有其他值一样。
left.open = TRUE 有时有用,例如对于生存数据。出于(反)对称原因,它相当于使用 “mirrored” 数据,即以下内容始终为真:
identical(
findInterval( x, v, left.open= TRUE, ...) ,
N - findInterval(-x, -v[N:1], left.open=FALSE, ...) )
其中 N <- length(vec) 如上所述。
值
长度为 length(x) 的向量,其值在 0:N (和 NA )中,其中 N <- length(vec) ,或者当且仅当 all.inside = TRUE 时强制转换为 1:(N-1) 的值(等效于强制强制间隔内的所有 x 值)。请注意, NA 是从 x 传播的,并且 Inf 值在 x 和 vec 中都允许。
例子
x <- 2:18
v <- c(5, 10, 15) # create two bins [5,10) and [10,15)
cbind(x, findInterval(x, v))
N <- 100
X <- sort(round(stats::rt(N, df = 2), 2))
tt <- c(-100, seq(-2, 2, length.out = 201), +100)
it <- findInterval(tt, X)
tt[it < 1 | it >= N] # only first and last are outside range(X)
## 'left.open = TRUE' means "mirroring" :
N <- length(v)
stopifnot(identical(
findInterval( x, v, left.open=TRUE) ,
N - findInterval(-x, -v[N:1])))
作者
Martin Maechler
也可以看看
approx(*, method = "constant") 是 findInterval() 和 ecdf 的泛化,用于计算经验分布函数(最多 因子)也与 findInterval(.) 基本相同。
相关用法
- R find.package 查找套餐
- R file.path 构造文件路径
- R file.info 提取文件信息
- R file.show 显示一个或多个文本文件
- R file.access 确定文件的可访问性
- R files 文件操作
- R file.choose 交互式选择文件
- R files2 目录和文件权限的操作
- R formals 访问和操纵形式参数
- R funprog 函数式编程语言中常见的高阶函数
- R formatDL 格式说明列表
- R force 强制评估论证
- R format 以通用格式编码
- R factor 因子
- R function 函数定义
- R formatC 使用 C 样式格式进行格式化
- R format.pval 设置 P 值格式
- R forceAndCall 调用带有强制参数的函数
- R format.info 格式(.)信息
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
- R dump R 对象的文本表示
- R Sys.getenv 获取环境变量
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Find Interval Numbers or Indices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
