From 0de70264301fbc984a72f4ca4244fa4333d1c6df Mon Sep 17 00:00:00 2001 From: Waldir Leoncio Date: Fri, 15 Jan 2021 09:36:50 +0100 Subject: [PATCH] Fixed handling of global --- R/computePersonalAllFreqs.R | 9 ++++++--- R/laskeMuutokset12345.R | 6 +++++- R/suoritaMuutos.R | 18 +++++++++++------- R/zeros_ones.R | 4 ++-- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/R/computePersonalAllFreqs.R b/R/computePersonalAllFreqs.R index 7ccd4e9..4a301cd 100644 --- a/R/computePersonalAllFreqs.R +++ b/R/computePersonalAllFreqs.R @@ -10,11 +10,14 @@ #' @export computePersonalAllFreqs <- function(ind, data, allFreqs, rowsFromInd) { - nloci <- ifelse(is.na(dim(COUNTS)[2]), 1, dim(COUNTS)[2]) - npops <- ifelse(is.na(dim(COUNTS)[3]), 1, dim(COUNTS)[3]) + if (is.null(dim(COUNTS))) { + nloci <- npops <- 1 + } else { + nloci <- ifelse(is.na(dim(COUNTS)[2]), 1, dim(COUNTS)[2]) + npops <- ifelse(is.na(dim(COUNTS)[3]), 1, dim(COUNTS)[3]) + } rows <- as.matrix(t(data))[computeRows(rowsFromInd, ind, 1), , drop = FALSE] - omaFreqs <- zeros(npops, rowsFromInd * nloci) pointer <- 1 for (loc in 1:dim(rows)[2]) { diff --git a/R/laskeMuutokset12345.R b/R/laskeMuutokset12345.R index 4d14e0f..d9ae738 100644 --- a/R/laskeMuutokset12345.R +++ b/R/laskeMuutokset12345.R @@ -9,7 +9,11 @@ #' @param logml log maximum likelihood #' @export laskeMuutokset4 <- function (osuus, osuusTaulu, omaFreqs, logml) { - npops <- ifelse(is.na(dim(COUNTS)[3]), 1, dim(COUNTS)[3]) + if (is.null(dim(COUNTS))) { + npops <- 1 + } else { + npops <- ifelse(is.na(dim(COUNTS)[3]), 1, dim(COUNTS)[3]) + } notEmpty <- which(osuusTaulu > 0.005) muutokset <- zeros(npops) empties <- !notEmpty diff --git a/R/suoritaMuutos.R b/R/suoritaMuutos.R index bb39850..9f94434 100644 --- a/R/suoritaMuutos.R +++ b/R/suoritaMuutos.R @@ -5,14 +5,18 @@ #' @param indeksi index #' @export suoritaMuutos <- function (osuusTaulu, osuus, indeksi) { - npops <- ifelse(is.na(dim(COUNTS)[3]), 1, dim(COUNTS)[3]) + if (is.null(dim(COUNTS))) { + npops <- 1 + } else { + npops <- ifelse(is.na(dim(COUNTS)[3]), 1, dim(COUNTS)[3]) + } - i1 <- indeksi %% npops - if (is.na(i1) | i1 == 0) i1 <- npops - i2 <- ceiling(indeksi / npops) + i1 <- indeksi %% npops + if (is.na(i1) | i1 == 0) i1 <- npops + i2 <- ceiling(indeksi / npops) - osuusTaulu[i1] <- osuusTaulu[i1] - osuus - osuusTaulu[i2] <- osuusTaulu[i2] + osuus + osuusTaulu[i1] <- osuusTaulu[i1] - osuus + osuusTaulu[i2] <- osuusTaulu[i2] + osuus - return (osuusTaulu) + return (osuusTaulu) } \ No newline at end of file diff --git a/R/zeros_ones.R b/R/zeros_ones.R index c4487bf..954754c 100644 --- a/R/zeros_ones.R +++ b/R/zeros_ones.R @@ -20,7 +20,7 @@ zeros_or_ones <- function(n, x) { } #' @title Matrix of zeros -#' @description wrapper of `zeros_or_ones()` that replicates the behavior of +#' @description wrapper of `zeros_or_ones()` that replicates the behavior of #' the `zeros()` function on Matlab #' @param n1 number of rows #' @param n2 number of columns @@ -35,7 +35,7 @@ zeros <- function(n1, n2 = n1, ...) { } #' @title Matrix of ones -#' @description wrapper of `zeros_or_ones()` that replicates the behavior of +#' @description wrapper of `zeros_or_ones()` that replicates the behavior of #' the `ones()` function on Matlab #' @param n1 number of rows #' @param n2 number of columns