# Setting up functions for generating the matrices to use for testing.
library(Matrix)
library(DelayedArray)
#######################################################
integer_sFUN <- function(nr=15, nc=10, lambda=5) {
matrix(rpois(nr*nc, lambda=lambda), nr, nc)
}
integer_rFUN <- function(nr=15, nc=10, lambda=1, chunk.ncols=NULL) {
x <- integer_sFUN(nr, nc, lambda=lambda)
rle <- Rle(x)
RleArray(rle, dim(x))
}
#######################################################
logical_sFUN <- function(nr=15, nc=10) {
matrix(rbinom(nr*nc, 1, 0.5)==0, nr, nc)
}
logical_dFUN <- function(nr=15, nc=10) {
Matrix(logical_sFUN(nr, nc), sparse=FALSE, doDiag=FALSE)
}
logical_csFUN <- function(nr=15, nc=10, d=0.1) {
rsparsematrix(nrow=nr, ncol=nc, density=d) != 0
}
logical_tsFUN <- function(...) {
as(logical_csFUN(...), 'lgTMatrix')
}
#######################################################
numeric_sFUN <- function(nr=15, nc=10) {
matrix(rnorm(nr*nc), nr, nc)
}
numeric_dFUN <- function(nr=15, nc=10) {
Matrix(numeric_sFUN(nr, nc), sparse=FALSE, doDiag=FALSE)
}
numeric_csFUN <- function(nr=15, nc=10, d=0.1) {
rsparsematrix(nrow=nr, ncol=nc, density=d)
}
numeric_tsFUN <- function(...) {
as(numeric_csFUN(...), 'dgTMatrix')
}
#######################################################
genwords <- function(n = 5000) {
all.choices <- c(rep("", 4), LETTERS) # to get variable length strings.
a <- do.call(paste0, replicate(5, sample(all.choices, n, TRUE), FALSE))
paste0(a, sprintf("%04d", sample(9999, n, TRUE)), sample(LETTERS, n, TRUE))
}
character_sFUN <- function(nr=15, nc=10, lambda=5) {
matrix(genwords(nr*nc), nr, nc)
}
character_rFUN <- function(nr=15, nc=10, lambda=1, chunk.ncols=NULL) {
x <- matrix(sample(LETTERS[1:4], nr*nc, replace=TRUE), nr, nc)
rle <- Rle(x)
RleArray(rle, dim(x))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.