Package kdtools. April 26, 2018

Similar documents
Package cattonum. R topics documented: May 2, Type Package Version Title Encode Categorical Features

Package ECctmc. May 1, 2018

Package validara. October 19, 2017

Package stapler. November 27, 2017

Package semver. January 6, 2017

Package fastdummies. January 8, 2018

Package wrswor. R topics documented: February 2, Type Package

Package diagis. January 25, 2018

Package geojsonsf. R topics documented: January 11, Type Package Title GeoJSON to Simple Feature Converter Version 1.3.

Package bisect. April 16, 2018

Package meme. November 2, 2017

Package spark. July 21, 2017

Package labelvector. July 28, 2018

Package projector. February 27, 2018

Package meme. December 6, 2017

Package WordR. September 7, 2017

Package smoothr. April 4, 2018

Package messaging. May 27, 2018

Package nmslibr. April 14, 2018

Package triebeard. August 29, 2016

Package SEMrushR. November 3, 2018

Package docxtools. July 6, 2018

Package farver. November 20, 2018

Package rsppfp. November 20, 2018

Package gtrendsr. October 19, 2017

Package canvasxpress

Package fitur. March 11, 2018

Package knitrprogressbar

Package rgho. R topics documented: January 18, 2017

Package pdfsearch. July 10, 2018

Package bigreadr. R topics documented: August 13, Version Date Title Read Large Text Files

Package vinereg. August 10, 2018

Package narray. January 28, 2018

Package nngeo. September 29, 2018

Package goodpractice

Package widyr. August 14, 2017

Package catenary. May 4, 2018

Package gggenes. R topics documented: November 7, Title Draw Gene Arrow Maps in 'ggplot2' Version 0.3.2

Package ggimage. R topics documented: December 5, Title Use Image in 'ggplot2' Version 0.1.0

Package data.world. April 5, 2018

Package infer. July 11, Type Package Title Tidy Statistical Inference Version 0.3.0

Package humanize. R topics documented: April 4, Version Title Create Values for Human Consumption

Package coga. May 8, 2018

Package ggimage. R topics documented: November 1, Title Use Image in 'ggplot2' Version 0.0.7

Package readobj. November 2, 2017

Package readxl. April 18, 2017

Package fastrtext. December 10, 2017

Package fitbitscraper

Package qualmap. R topics documented: September 12, Type Package

Package robotstxt. November 12, 2017

Package gifti. February 1, 2018

Package customlayout

Package jdx. R topics documented: January 9, Type Package Title 'Java' Data Exchange for 'R' and 'rjava'

Package facerec. May 14, 2018

Package skynet. December 12, 2018

Package labelled. December 19, 2017

Package tibble. August 22, 2017

Package statsdk. September 30, 2017

Package haven. April 9, 2015

Package elmnnrcpp. July 21, 2018

Package gtrendsr. August 4, 2018

Package calpassapi. August 25, 2018

Package sfdct. August 29, 2017

Package splithalf. March 17, 2018

Package geogrid. August 19, 2018

Package keyholder. May 19, 2018

Package balance. October 12, 2018

Package geoops. March 19, 2018

Package condusco. November 8, 2017

Package barcoder. October 26, 2018

Package rtext. January 23, 2019

Package milr. June 8, 2017

Package tiler. June 9, 2018

Package queuecomputer

Package climber. R topics documented:

Package rbgm. May 18, 2018

Package dkanr. July 12, 2018

Package repec. August 31, 2018

Package modules. July 22, 2017

Package mixsqp. November 14, 2018

Package githubinstall

R topics documented: 2 clone

Package enpls. May 14, 2018

Package zebu. R topics documented: October 24, 2017

Package strat. November 23, 2016

Package ezknitr. September 16, 2016

Package TrafficBDE. March 1, 2018

Package jpmesh. December 4, 2017

Package graphframes. June 21, 2018

Package wdman. January 23, 2017

Package utf8. May 24, 2018

Package ruler. February 23, 2018

Package combiter. December 4, 2017

Package edfreader. R topics documented: May 21, 2017

Package redux. May 31, 2018

Package deductive. June 2, 2017

Package dat. January 20, 2018

Package filematrix. R topics documented: February 27, Type Package

Package pwrab. R topics documented: June 6, Type Package Title Power Analysis for AB Testing Version 0.1.0

Package internetarchive

Transcription:

Type Package Package kdtools April 26, 2018 Title Tools for Working with Multidimensional Data Version 0.3.1 Provides various tools for working with multidimensional data in R and C++, including etremely fast nearest-neighbor- and rangequeries without the overhead of linked tree nodes. License MIT + file LICENSE Encoding UTF-8 LazyData true Imports Rcpp (>= 0.12.14) LinkingTo Rcpp, strider, BH Suggests testthat, knitr, rmarkdown, covr, ggplot2, tidytet, printr, scales VignetteBuilder knitr RoygenNote 6.0.1 URL https://github.com/thk686/kdtools BugReports https://github.com/thk686/kdtools/issues NeedsCompilation yes Author Timothy Keitt [aut, cre] Maintainer Timothy Keitt <tkeitt@gmail.com> Repository CRAN Date/Publication 2018-04-26 21:16:32 UTC R topics documented: kd_lower_bound...................................... 2 kd_nearest_neighbors.................................... 2 kd_sort........................................... 3 le_sort........................................... 4 matri_to_tuples...................................... 5 print.arrayvec........................................ 5 1

2 kd_nearest_neighbors Inde 7 kd_lower_bound Search sorted data Search sorted data kd_lower_bound(, v) kd_upper_bound(, v) kd_range_query(, l, u) kd_binary_search(, v) v l u an object sorted by kd_sort a vector specifying where to look lower left corner of search region upper right corner of search region Eamples = matri(runif(200), 100) y = matri_to_tuples() kd_sort(y, inplace = TRUE) y[kd_lower_bound(y, c(1/2, 1/2)),] y[kd_upper_bound(y, c(1/2, 1/2)),] kd_binary_search(y, c(1/2, 1/2)) kd_range_query(y, c(1/3, 1/3), c(2/3, 2/3)) kd_nearest_neighbors Find nearest neighbors Find nearest neighbors

kd_sort 3 kd_nearest_neighbors(, v, n) kd_nearest_neighbor(, v) v n an object sorted by kd_sort a vector specifying where to look the number of neighbors to return Eamples = matri(runif(200), 100) y = matri_to_tuples() kd_sort(y, inplace = TRUE) y[kd_nearest_neighbor(y, c(1/2, 1/2)),] kd_nearest_neighbors(y, c(1/2, 1/2), 3) kd_sort Sort multidimensional data Sort multidimensional data kd_sort(,...) kd_is_sorted() Note a matri or arrayvec object... other arguments The algorithm used is a divide-and-conquer quicksort variant that recursively partions an range of tuples using the median of each successive dimension. Ties are resolved by cycling over successive dimensions. The result is an ordering of tuples matching their order if they were inserted into a kd-tree. The matri version will be slower because of data structure conversions.

4 le_sort See Also arrayvec Eamples = kd_sort(matri(runif(200), 100)) kd_is_sorted() plot(, type = "o", pch = 19, col = "steelblue", asp = 1) le_sort Sort a matri into leicographical order Sort a matri into leicographical order le_sort(,...) a matri or arrayvec object... other parameters Sorts a range of tuples into leicographical order. Eamples = le_sort(matri(runif(200), 100)) plot(, type = "o", pch = 19, col = "steelblue", asp = 1)

matri_to_tuples 5 matri_to_tuples Convert a matri to a vector of arrays Convert a matri to a vector of arrays matri_to_tuples() tuples_to_matri() object to be converted The algorithms in kdtools can accept either matrices or an arrayvec object. When a matri is passed, it is converted to an arrayvec object internally and the results are converted back to a matri. For optimal performance, pre-convert matrices. Eamples = matri(1:10, 5) y = matri_to_tuples() str() str(y) y[1:2, ] print.arrayvec Support for C++ vector of arrays Support for C++ vector of arrays

6 print.arrayvec print(,...) dim() as.matri(,...) as.data.frame(,...) [i, j, drop = TRUE] [[...]] an arrayvec object... other parameters i j drop row column drop singleton dimensions if true Because kdtools is implemented in C++, it operates natively on a vector of arrays. An arrayvec object is a wrapper around a pointer to a vector of arrays. These functions provide some ability to manipulate the data as if it were a matri.

Inde [.arrayvec (print.arrayvec), 5 [[.arrayvec (print.arrayvec), 5 arrayvec, 4, 5 arrayvec (print.arrayvec), 5 as.data.frame.arrayvec (print.arrayvec), 5 as.matri.arrayvec (print.arrayvec), 5 dim.arrayvec (print.arrayvec), 5 kd_binary_search (kd_lower_bound), 2 kd_is_sorted (kd_sort), 3 kd_lower_bound, 2 kd_nearest_neighbor (kd_nearest_neighbors), 2 kd_nearest_neighbors, 2 kd_range_query (kd_lower_bound), 2 kd_sort, 2, 3, 3 kd_upper_bound (kd_lower_bound), 2 le_sort, 4 matri_to_tuples, 5 print.arrayvec, 5 tuples_to_matri (matri_to_tuples), 5 7