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")
s <- clone(x) ramsort(s)
[1] 15
message("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")
s <- clone(x) o <- seq_along(s) ramorder(s, o)
[1] 15
message("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")
o <- seq_along(s) ramsortorder(s, o)
[1] 15
message("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