Fixed bug involving scalar parsing
This commit is contained in:
parent
2e8ad9a89d
commit
9580a48a63
2 changed files with 16 additions and 3 deletions
|
|
@ -4,11 +4,22 @@
|
||||||
#' @export
|
#' @export
|
||||||
|
|
||||||
simuloiAlleeli <- function(allfreqs, pop, loc) {
|
simuloiAlleeli <- function(allfreqs, pop, loc) {
|
||||||
if (length(dim(allfreqs)) == 3) { # distinguish between arrays and matrices
|
if (length(dim(allfreqs)) == 0) {
|
||||||
freqs <- allfreqs[, loc, pop]
|
freqs <- 1
|
||||||
} else {
|
} else {
|
||||||
freqs <- allfreqs[, loc]
|
if (length(dim(allfreqs)) == 3) { # distinguish between array and matrix
|
||||||
|
freqs <- allfreqs[, loc, pop]
|
||||||
|
} else {
|
||||||
|
freqs <- allfreqs[, loc]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
# freqs <- ifelse(is.null(length(dim(allfreqs)), allfreqs[loc], 0)
|
||||||
|
# freqs <- switch() + 1,
|
||||||
|
# allfreqs[, loc],
|
||||||
|
# allfreqs[, loc, pop]
|
||||||
|
# )
|
||||||
|
|
||||||
|
|
||||||
cumsumma <- cumsum(freqs)
|
cumsumma <- cumsum(freqs)
|
||||||
arvo <- runif(1)
|
arvo <- runif(1)
|
||||||
isommat <- which(cumsumma > arvo)
|
isommat <- which(cumsumma > arvo)
|
||||||
|
|
|
||||||
|
|
@ -183,9 +183,11 @@ test_that("computePersonalAllFreqs works like on Matlab", {
|
||||||
|
|
||||||
test_that("simuloiAlleeli works like on Matlab", {
|
test_that("simuloiAlleeli works like on Matlab", {
|
||||||
# TODO: test on vector
|
# TODO: test on vector
|
||||||
|
sk1 <- 2
|
||||||
ra1 <- array(1:12, c(2, 2, 3))
|
ra1 <- array(1:12, c(2, 2, 3))
|
||||||
mx1 <- matrix(c(3, 5, 0, 9), 2)
|
mx1 <- matrix(c(3, 5, 0, 9), 2)
|
||||||
mx2 <- matrix(c(3, 5, 0, 9, 5, 8), 2)
|
mx2 <- matrix(c(3, 5, 0, 9, 5, 8), 2)
|
||||||
|
expect_equal(simuloiAlleeli(sk1, 1, 1), 1)
|
||||||
expect_equal(simuloiAlleeli(ra1, 2, 1), 1)
|
expect_equal(simuloiAlleeli(ra1, 2, 1), 1)
|
||||||
expect_equal(simuloiAlleeli(mx1, 1, 2), 2)
|
expect_equal(simuloiAlleeli(mx1, 1, 2), 2)
|
||||||
expect_equal(simuloiAlleeli(mx2, 1, 3), 1)
|
expect_equal(simuloiAlleeli(mx2, 1, 3), 1)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue