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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
