Description Usage Arguments Value Author(s) Examples
This function performs fast feature overlap
count under a circular permutation.
The input data sets must be preprocessed with
shiftrPrepareLeft
and shiftrPrepareRight
functions.
1 | singlePermutation(left, right, offset)
|
left |
Feature set prepared with |
right |
Feature set prepared with |
offset |
Offset of one feature set relative to another.
See the example below for clarity. |
Returns count of feature overlap under a circular permutation.
Andrey A Shabalin andrey.shabalin@gmail.com
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | ### Number of features
nf = 1e6
### Generate left and right sets
lset = sample(c(0L,1L), size = nf, replace = TRUE)
rset = sample(c(0L,1L), size = nf, replace = TRUE) | lset
# Prepare binary sets:
lbin = shiftrPrepareLeft(lset)
rbin = shiftrPrepareRight(rset)
### count feature overlap
# R calculations
overlapS = sum(lset & rset)
# Binary calculations
overlapF = singlePermutation(lbin, rbin, 0)
message("Feature overlap: ",
overlapS, " / ", overlapF,
" (slow/fast count)")
stopifnot( overlapS == overlapF )
### Count overlap with offset
offset = 2017
# R calculations
overlapOS = sum(lset[ c((offset+1):nf, 1:offset)] & rset)
# Binary calculations
overlapOF = singlePermutation(lbin, rbin, offset)
message("Feature overlap at offset: ",
overlapOS, " / ", overlapOF,
" (slow/fast count)")
stopifnot( overlapOS == overlapOF )
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.