From 75ff42daedf0452ec948ca3bbc2cb02628cb50e8 Mon Sep 17 00:00:00 2001 From: Waldir Leoncio Date: Mon, 15 Feb 2021 09:49:21 +0100 Subject: [PATCH] Fixed syntax --- R/computePopulationLogml.R | 3 ++- R/min_max_MATLAB.R | 2 ++ R/updateGlobalVariables.R | 13 ++++++------- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/R/computePopulationLogml.R b/R/computePopulationLogml.R index d4516e0..e0f4765 100644 --- a/R/computePopulationLogml.R +++ b/R/computePopulationLogml.R @@ -1,4 +1,4 @@ -computePopulationLogml <- function(pops, adjprior, priorTerm = 0) { +computePopulationLogml <- function(pops, adjprior, priorTerm) { # Palauttaa length(pops)*1 taulukon, jossa on laskettu korikohtaiset # ======================================================== # @@ -29,6 +29,7 @@ computePopulationLogml <- function(pops, adjprior, priorTerm = 0) { 2 ) ) + if (is.null(priorTerm)) priorTerm <- 0 popLogml <- term1 - sum(lgamma(1 + SUMCOUNTS[pops, ]), 2) - priorTerm return(popLogml) } \ No newline at end of file diff --git a/R/min_max_MATLAB.R b/R/min_max_MATLAB.R index 7ad9d0e..83162d2 100644 --- a/R/min_max_MATLAB.R +++ b/R/min_max_MATLAB.R @@ -5,6 +5,7 @@ #' @return Either a list or a vector #' @author Waldir Leoncio min_MATLAB <- function(X, indices = TRUE) { + if (!is(X, "matrix")) X <- as.matrix(X) mins <- apply(X, 2, min) idx <- sapply(seq_len(ncol(X)), function(x) match(mins[x], X[, x])) if (indices) { @@ -21,6 +22,7 @@ min_MATLAB <- function(X, indices = TRUE) { #' @return Either a list or a vector #' @author Waldir Leoncio max_MATLAB <- function(X, indices = TRUE) { + if (!is(X, "matrix")) X <- as.matrix(X) maxs <- apply(X, 2, max) idx <- sapply(seq_len(ncol(X)), function(x) match(maxs[x], X[, x])) if (indices) { diff --git a/R/updateGlobalVariables.R b/R/updateGlobalVariables.R index 1602faf..e6d004d 100644 --- a/R/updateGlobalVariables.R +++ b/R/updateGlobalVariables.R @@ -1,14 +1,13 @@ updateGlobalVariables <- function(ind, i2, diffInCounts, adjprior, priorTerm) { # % Suorittaa globaalien muuttujien muutokset, kun yksil� ind # % on siirret��n koriin i2. - i1 <- PARTITION[ind] PARTITION[ind] <- i2 COUNTS[, , i1] <- COUNTS[, , i1] - diffInCounts COUNTS[, , i2] <- COUNTS[, , i2] + diffInCounts - SUMCOUNTS[i1, ] <- SUMCOUNTS[i1, ] - sum[diffInCounts] - SUMCOUNTS[i2, ] <- SUMCOUNTS[i2, ] + sum[diffInCounts] + SUMCOUNTS[i1, ] <- SUMCOUNTS[i1, ] - rowSums(diffInCounts) + SUMCOUNTS[i2, ] <- SUMCOUNTS[i2, ] + rowSums(diffInCounts) POP_LOGML[c(i1, i2)] <- computePopulationLogml( c(i1, i2), adjprior, priorTerm @@ -28,8 +27,8 @@ updateGlobalVariables2 <- function(i1, i2, diffInCounts, adjprior, priorTerm) { COUNTS[, , i1] <- COUNTS[, , i1] - diffInCounts COUNTS[, , i2] <- COUNTS[, , i2] + diffInCounts - SUMCOUNTS[i1, ] <- SUMCOUNTS[i1, ] - sum[diffInCounts] - SUMCOUNTS[i2, ] <- SUMCOUNTS[i2, ] + sum[diffInCounts] + SUMCOUNTS[i1, ] <- SUMCOUNTS[i1, ] - rowSums(diffInCounts) + SUMCOUNTS[i2, ] <- SUMCOUNTS[i2, ] + rowSums(diffInCounts) POP_LOGML[i1] <- 0 POP_LOGML[i2] <- computePopulationLogml(i2, adjprior, priorTerm) @@ -51,8 +50,8 @@ updateGlobalVariables3 <- function( COUNTS[, , i1] <- COUNTS[, , i1] - diffInCounts COUNTS[, , i2] <- COUNTS[, , i2] + diffInCounts - SUMCOUNTS[i1, ] <- SUMCOUNTS[i1, ] - sum[diffInCounts] - SUMCOUNTS[i2, ] <- SUMCOUNTS[i2, ] + sum[diffInCounts] + SUMCOUNTS[i1, ] <- SUMCOUNTS[i1, ] - rowSums(diffInCounts) + SUMCOUNTS[i2, ] <- SUMCOUNTS[i2, ] + rowSums(diffInCounts) POP_LOGML[c(i1, i2)] <- computePopulationLogml( c(i1, i2), adjprior, priorTerm