Provides reusable building blocks for research packages across matrix representation, numerical computation, neighborhood evaluation, controlled execution, and runtime interoperability. Core tools preserve declared sparse semantics, expose dense-memory and output boundaries, standardize neighborhood and classification results, and align serial and parallel result and error behavior. Additional helpers support structured messages, optional dependency checks, and common statistical workflows.
thisutils provides reliable building blocks for research workflows: sparse-matrix conversion and top-k selection, correlations, neighborhoods and LISI scores, repeated execution with structured messages, and optional dependency checks — with explicit semantics and bounded resource use.
Install CRAN version:
install.packages("thisutils")
# or
if (!require("pak", quietly = TRUE)) {
install.packages("pak")
}
pak::pak("thisutils")
Install development version from GitHub use pak:
if (!require("pak", quietly = TRUE)) {
install.packages("pak")
}
pak::pak("mengxu98/thisutils")
library(Matrix)
library(thisutils)
x <- Matrix(
c(-3, 0, 2, -1, 4, 0),
nrow = 3,
sparse = TRUE,
dimnames = list(paste0("r", 1:3), paste0("c", 1:2))
)
# Implicit zeros for ordinary matrices; stored entries only for graphs
run_sparse_topk(x, k = 2, by = "col")
run_sparse_topk_stored(x, k = 2, by = "col")
# Blockwise correlation with a bounded dense working block
sparse_cor(simulate_sparse_matrix(200, 50), threshold = 0.2, block_size = 64)
# Repeat tasks with aligned serial/parallel results and per-input seeds
parallelize_fun(
list(first = x, second = x),
function(mat) thisutils::sparse_cor(mat, threshold = 0.2, block_size = 64),
cores = 2,
backend = "psock",
seed = 2026
)
See the function reference
for the complete API, and run
vignette("research-package-workflows", package = "thisutils") for a connected
example installed with the package.