Nothing
## ----init, include = FALSE----------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
tidy = "styler"
)
## ----setup--------------------------------------------------------------------
library(catsim)
## ----besag, fig.width = 6, fig.height = 2-------------------------------------
set.seed(20200308)
multfactor <- 3
onesmat <- matrix(1, multfactor, multfactor)
exmat <- (besag %% 2) ### converting to binary - it's ones and twos
bigmat <- exmat %x% onesmat
bigmat <- exmat %x% onesmat
shift <- 6
basemat <- bigmat[1:(96 * multfactor), 1:(84 * multfactor)]
shiftmat <- bigmat[(1 + shift):(96 * multfactor + shift), 1:(84 * multfactor)]
acc <- mean(basemat == shiftmat)
errmat <- (matrix(
sample(0:1, 96 * 84 * (multfactor^2),
replace = TRUE, prob = c(acc, ((1 - acc)))
),
(96 * multfactor), (84 * multfactor)
) + basemat) %% 2
par(mfrow = c(1,3), mar = c(0,0,0,0))
image(basemat, xaxt = "n", yaxt = "n"); grid(lwd = 3, nx = 6, col = "black")
image(shiftmat, xaxt = "n", yaxt = "n"); grid(lwd = 3, nx = 6, col = "black")
image(errmat, xaxt = "n", yaxt = "n"); grid(lwd = 3, nx = 6, col = "black")
## ----besagrating--------------------------------------------------------------
catsim(basemat, shiftmat)
catsim(basemat, errmat)
## ----besagjacc----------------------------------------------------------------
catsim(basemat, shiftmat, method = "Jaccard")
catsim(basemat, errmat, method = "Jaccard")
## ----construction, fig.width = 2, fig.height = 2------------------------------
multfactor <- 20
onesmat <- matrix(1, multfactor, multfactor)
exmat <- matrix(0, 12, 12)
exmat[2:10, c(2, 3, 9, 10)] <- 1
exmat[2:10, c(4, 5, 7, 8)] <- 2
exmat[5:7, 2:10] <- 1
exmat[2:10, c(6)] <- 3
par( mar = c(0,0,0,0))
image(exmat[11:1, 1:11], xaxt = "n", yaxt = "n")
grid(col = "black", lwd = 3)
bigmat <- exmat %x% onesmat
## ----distortion, fig.height = 2, fig.width = 4--------------------------------
set.seed(20200323)
shift <- 6 # we are shifting horizontally by six pixels
basemat <- bigmat[1:(11 * multfactor), 1:(11 * multfactor)]
shiftmat <- bigmat[(1 + shift) : (11 * multfactor + shift), 1: (11 * multfactor)]
### Here we have shifted the matrix slightly
par(mfrow = c(1, 2), mar = c(0,0,0,0))
image(shiftmat, xaxt = "n", yaxt = "n")
grid(col = "black", lwd = 3)
### computing the error rate
acc <- mean(basemat == shiftmat)
errmat <- (matrix(sample(0:3, 121 * (multfactor^2), replace = TRUE,
prob = c(acc, rep((1 - acc) / 3, 3))),
(11 * multfactor), (11 * multfactor)) + basemat) %% 4
### here we have made an image that matches its accuracy with salt and pepper noise
image(errmat, xaxt = "n", yaxt = "n")
grid(col = "black", lwd = 3)
## ----onelevel-----------------------------------------------------------------
library(catsim)
### comparing base to shifted
catsim(basemat, shiftmat, weights = 1)
### comparing base to salt-and-pepper
catsim(basemat, errmat, weights = 1)
### looking at accuracy
mean(basemat == shiftmat)
mean(basemat == errmat)
## ----fivelevels---------------------------------------------------------------
catsim(basemat, shiftmat, weights = rep(.2, 5))
### comparing base to salt-and-pepper
catsim(basemat, errmat, weights = rep(.2, 5))
## ----differentmetrics---------------------------------------------------------
catsim(basemat, shiftmat, weights = rep(.5,2), method="Rand")
catsim(basemat, shiftmat, weights = rep(.5,2), method="NMI")
## ----windowsize---------------------------------------------------------------
catsim(basemat, shiftmat, weights = rep(1 / 3, 3), window = 20)
catsim(basemat, shiftmat, weights = rep(1 / 3, 3), window = 5)
catsim(basemat, errmat, weights = rep(1 / 3, 3), window = 20)
catsim(basemat, errmat, weights = rep(1 / 3, 3), window = 5)
## ----windowarg----------------------------------------------------------------
catsim(basemat, shiftmat, weights = rep(.2, 5), window = c(11, 5))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.