Examples for 'bit64::ramsort.integer64'


Low-level intger64 methods for in-RAM sorting and ordering

Aliases: ramsort.integer64 shellsort.integer64 quicksort.integer64 mergesort.integer64 radixsort.integer64 ramorder.integer64 shellorder.integer64 quickorder.integer64 mergeorder.integer64 radixorder.integer64 ramsortorder.integer64 shellsortorder.integer64 quicksortorder.integer64 mergesortorder.integer64 radixsortorder.integer64

Keywords: programming manip

### ** Examples

  x <- as.integer64(sample(c(rep(NA, 9), 1:9), 32, TRUE))
  x
integer64
 [1] <NA> 2    <NA> <NA> 2    <NA> <NA> <NA> 3    8    <NA> 6    2    <NA> 1   
[16] <NA> 7    1    5    <NA> <NA> 3    <NA> 7    6    1    <NA> 7    4    <NA>
[31] 3    <NA>
  message("ramsort example")
ramsort example
  s <- clone(x)
  ramsort(s)
[1] 15
  message("s has been changed in-place - whether or not ramsort uses an in-place algorithm")
s has been changed in-place - whether or not ramsort uses an in-place algorithm
  s
integer64
 [1] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
[16] 1    1    1    2    2    2    3    3    3    4    5    6    6    7    7   
[31] 7    8   
  message("ramorder example")
ramorder example
  s <- clone(x)
  o <- seq_along(s)
  ramorder(s, o)
[1] 15
  message("o has been changed in-place - s remains unchanged")
o has been changed in-place - s remains unchanged
  s
integer64
 [1] <NA> 2    <NA> <NA> 2    <NA> <NA> <NA> 3    8    <NA> 6    2    <NA> 1   
[16] <NA> 7    1    5    <NA> <NA> 3    <NA> 7    6    1    <NA> 7    4    <NA>
[31] 3    <NA>
  o
 [1]  1  3  4  6  7  8 11 14 16 20 21 23 27 30 32 15 18 26  2  5 13  9 22 31 29
[26] 19 12 25 17 24 28 10
  s[o]
integer64
 [1] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
[16] 1    1    1    2    2    2    3    3    3    4    5    6    6    7    7   
[31] 7    8   
  message("ramsortorder example")
ramsortorder example
  o <- seq_along(s)
  ramsortorder(s, o)
[1] 15
  message("s and o have both been changed in-place - this is much faster")
s and o have both been changed in-place - this is much faster
  s
integer64
 [1] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
[16] 1    1    1    2    2    2    3    3    3    4    5    6    6    7    7   
[31] 7    8   
  o
 [1]  1  3  4  6  7  8 11 14 16 20 21 23 27 30 32 15 18 26  2  5 13  9 22 31 29
[26] 19 12 25 17 24 28 10

[Package bit64 version 4.0.5 Index]