Skip to contents

C++ implementation

Usage

similarityMat_nocostC(cc)

Arguments

cc

a matrix whose columns each represents a ()MCMC) partition

Examples

c <- list(c(1,1,2,3,2,3), c(1,1,1,2,3,3),c(2,2,1,1,1,1))
similarityMat_nocostC(sapply(c, "["))
#> $similarity
#>           [,1]      [,2]      [,3]      [,4]      [,5]      [,6]
#> [1,] 1.0000000 1.0000000 0.3333333 0.0000000 0.0000000 0.0000000
#> [2,] 1.0000000 1.0000000 0.3333333 0.0000000 0.0000000 0.0000000
#> [3,] 0.3333333 0.3333333 1.0000000 0.3333333 0.6666667 0.3333333
#> [4,] 0.0000000 0.0000000 0.3333333 1.0000000 0.3333333 0.6666667
#> [5,] 0.0000000 0.0000000 0.6666667 0.3333333 1.0000000 0.6666667
#> [6,] 0.0000000 0.0000000 0.3333333 0.6666667 0.6666667 1.0000000
#> 

c2 <- list()
for(i in 1:10){
    c2 <- c(c2, list(rmultinom(n=1, size=1000, prob=rexp(n=1000))))
}

c3 <- sapply(c2, "[")

if(require(microbenchmark)){
library(microbenchmark)
microbenchmark(similarityMat(c3), similarityMat_nocostC(c3), times=2L)
}else{
cat("package 'microbenchmark' not available\n")
}
#> Unit: milliseconds
#>                       expr        min         lq       mean     median
#>          similarityMat(c3) 127.737803 127.737803 128.250969 128.250969
#>  similarityMat_nocostC(c3)   6.956227   6.956227   7.361623   7.361623
#>          uq        max neval
#>  128.764136 128.764136     2
#>    7.767018   7.767018     2