Advertisement
Guest User

a guest
Dec 10th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 0.54 KB | None | 0 0
  1. library(pipeR)
  2. library(stringr)
  3. library(data.table)
  4. library(plyr)
  5.  
  6. x <- replicate(10000L, letters %>>% sample(sample(5:15)) %>>%
  7.                  str_c(collapse = ""))
  8.  
  9. system.time({
  10.   DT <- lapply(x, function(s){
  11.     str_sub(s, 1L:(max(nchar(s))-1L), 2L:max(nchar(s))) %>>%
  12.       table %>>% as.matrix %>>% t %>>% data.table
  13.   }) %>>%
  14.     rbindlist(fill = TRUE) %>>%
  15.     `[`(j = lapply(.SD, function(x) mapvalues(x, NA_integer_, 0L)))
  16.   pairs <- letters %>>% outer(., str_c) %>>% as.vector
  17.   DT[ , eval(setdiff(pairs, names(DT))) := 0L]
  18. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement