# your code goes here a=function(){ paste0(sample(letters,sample(5:15)),sep="",collapse="") } input=replicate(10,a()) combs=do.call(paste0,expand.grid(letters,letters)) t(sapply(input,function(x) table( factor(substring( x, first=1:(nchar(x)-1), last=2:nchar(x) ),levels=combs) )))