From 84e0eb61d8e2f0a1970a0badc44f2844e6f4a2e6 Mon Sep 17 00:00:00 2001 From: Waldir Leoncio Date: Thu, 28 Jul 2022 14:23:35 +0200 Subject: [PATCH] Translated `computeDiffInCliqCounts()` (#3) --- R/computeDiffInCliqCounts.R | 15 +++++++++++++++ tests/testthat/test-spatialMixture.R | 15 ++++++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 R/computeDiffInCliqCounts.R diff --git a/R/computeDiffInCliqCounts.R b/R/computeDiffInCliqCounts.R new file mode 100644 index 0000000..cf49d57 --- /dev/null +++ b/R/computeDiffInCliqCounts.R @@ -0,0 +1,15 @@ +computeDiffInCliqCounts <- function(cliques, inds) { + # Laskee muutoksen CLIQCOUNTS:ssa (tai SEPCOUNTS:ssa, jos syצtteen? + # separators) kun yksilצt inds siirretההn. diffInCliqcounts on ncliq*1 taulu, + # joka on CLIQCOUNTS:n sarakkeesta josta yksilצt inds siirretההn ja + # lisהttהv?sarakkeeseen, johon yksilצt siirretההn. + ncliq <- size(cliques, 1) + diffInCliqCounts <- zeros(ncliq, 1) + ninds <- length(inds) + for (i in 1:ninds) { + ind <- inds[i] + rivit <- rowSums(cliques == ind) + diffInCliqCounts <- diffInCliqCounts + rivit + } + return(diffInCliqCounts) +} diff --git a/tests/testthat/test-spatialMixture.R b/tests/testthat/test-spatialMixture.R index 969c2a0..133ee33 100644 --- a/tests/testthat/test-spatialMixture.R +++ b/tests/testthat/test-spatialMixture.R @@ -1,9 +1,14 @@ context("Spatial mixture") test_that("functions work with basic input", { - x <- c(1, 3, 0, 2) - y <- array(c(1, 3, 2, 4, 5, 7, 6, 8), c(2, 2, 2)) - z <- computeCounts(x, 4, 5, y) - expect_equal(z$cliqcounts, t(c(1, 1, 1, 0, 0))) - expect_equal(z$sepcounts, t(c(0, 0, 0, 1, 0))) + q <- c(1, 3, 0, 2) + w <- array(c(1, 3, 2, 4, 5, 7, 6, 8), c(2, 2, 2)) + e <- computeCounts(q, 4, 5, w) + r <- matrix(c(5, 3, 3, 6, 4, 4, 7, 9, 1), 3) + expect_equal(e$cliqcounts, t(c(1, 1, 1, 0, 0))) + expect_equal(e$sepcounts, t(c(0, 0, 0, 1, 0))) + expect_equal(computeDiffInCliqCounts(r, 4), matrix(c(0, 1, 1))) + expect_equal(computeDiffInCliqCounts(r, 3), matrix(c(0, 1, 1))) + expect_equal(computeDiffInCliqCounts(r, 5), matrix(c(1, 0, 0))) + expect_equal(computeDiffInCliqCounts(r, 0), matrix(c(0, 0, 0))) })