Search sorted data

kd_lower_bound(x, v)

kd_upper_bound(x, v)

kd_range_query(x, l, u)

kd_binary_search(x, v)

Arguments

x

an object sorted by kd_sort

v

a vector specifying where to look

l

lower left corner of search region

u

upper right corner of search region

Examples

x = matrix(runif(200), 100) y = matrix_to_tuples(x) kd_sort(y, inplace = TRUE)
#> [,1] [,2] #> [1,] 0.22002471 0.08603899 #> [2,] 0.05607304 0.19331267 #> [3,] 0.08183302 0.24046123 #> [4,] 0.22511539 0.11827678 #> [5,] 0.25920274 0.12186463 #> (continues for 95 more rows)
y[kd_lower_bound(y, c(1/2, 1/2)),]
#> [1] 0.5147446 0.6273660
y[kd_upper_bound(y, c(1/2, 1/2)),]
#> [1] 0.5147446 0.6273660
kd_binary_search(y, c(1/2, 1/2))
#> [1] FALSE
kd_range_query(y, c(1/3, 1/3), c(2/3, 2/3))
#> [,1] [,2] #> [1,] 0.4073613 0.3401192 #> [2,] 0.4525525 0.4194859 #> [3,] 0.5787815 0.4310034 #> [4,] 0.4327882 0.5138669 #> [5,] 0.3692361 0.6388837 #> (continues for 9 more rows)