Fixed syntax

This commit is contained in:
Waldir Leoncio 2021-02-15 09:49:21 +01:00
parent 1b5d97a041
commit 75ff42daed
3 changed files with 10 additions and 8 deletions

View file

@ -1,4 +1,4 @@
computePopulationLogml <- function(pops, adjprior, priorTerm = 0) { computePopulationLogml <- function(pops, adjprior, priorTerm) {
# Palauttaa length(pops)*1 taulukon, jossa on laskettu korikohtaiset # Palauttaa length(pops)*1 taulukon, jossa on laskettu korikohtaiset
# ======================================================== # # ======================================================== #
@ -29,6 +29,7 @@ computePopulationLogml <- function(pops, adjprior, priorTerm = 0) {
2 2
) )
) )
if (is.null(priorTerm)) priorTerm <- 0
popLogml <- term1 - sum(lgamma(1 + SUMCOUNTS[pops, ]), 2) - priorTerm popLogml <- term1 - sum(lgamma(1 + SUMCOUNTS[pops, ]), 2) - priorTerm
return(popLogml) return(popLogml)
} }

View file

@ -5,6 +5,7 @@
#' @return Either a list or a vector #' @return Either a list or a vector
#' @author Waldir Leoncio #' @author Waldir Leoncio
min_MATLAB <- function(X, indices = TRUE) { min_MATLAB <- function(X, indices = TRUE) {
if (!is(X, "matrix")) X <- as.matrix(X)
mins <- apply(X, 2, min) mins <- apply(X, 2, min)
idx <- sapply(seq_len(ncol(X)), function(x) match(mins[x], X[, x])) idx <- sapply(seq_len(ncol(X)), function(x) match(mins[x], X[, x]))
if (indices) { if (indices) {
@ -21,6 +22,7 @@ min_MATLAB <- function(X, indices = TRUE) {
#' @return Either a list or a vector #' @return Either a list or a vector
#' @author Waldir Leoncio #' @author Waldir Leoncio
max_MATLAB <- function(X, indices = TRUE) { max_MATLAB <- function(X, indices = TRUE) {
if (!is(X, "matrix")) X <- as.matrix(X)
maxs <- apply(X, 2, max) maxs <- apply(X, 2, max)
idx <- sapply(seq_len(ncol(X)), function(x) match(maxs[x], X[, x])) idx <- sapply(seq_len(ncol(X)), function(x) match(maxs[x], X[, x]))
if (indices) { if (indices) {

View file

@ -1,14 +1,13 @@
updateGlobalVariables <- function(ind, i2, diffInCounts, adjprior, priorTerm) { updateGlobalVariables <- function(ind, i2, diffInCounts, adjprior, priorTerm) {
# % Suorittaa globaalien muuttujien muutokset, kun yksil<69> ind # % Suorittaa globaalien muuttujien muutokset, kun yksil<69> ind
# % on siirret<65><74>n koriin i2. # % on siirret<65><74>n koriin i2.
i1 <- PARTITION[ind] i1 <- PARTITION[ind]
PARTITION[ind] <- i2 PARTITION[ind] <- i2
COUNTS[, , i1] <- COUNTS[, , i1] - diffInCounts COUNTS[, , i1] <- COUNTS[, , i1] - diffInCounts
COUNTS[, , i2] <- COUNTS[, , i2] + diffInCounts COUNTS[, , i2] <- COUNTS[, , i2] + diffInCounts
SUMCOUNTS[i1, ] <- SUMCOUNTS[i1, ] - sum[diffInCounts] SUMCOUNTS[i1, ] <- SUMCOUNTS[i1, ] - rowSums(diffInCounts)
SUMCOUNTS[i2, ] <- SUMCOUNTS[i2, ] + sum[diffInCounts] SUMCOUNTS[i2, ] <- SUMCOUNTS[i2, ] + rowSums(diffInCounts)
POP_LOGML[c(i1, i2)] <- computePopulationLogml( POP_LOGML[c(i1, i2)] <- computePopulationLogml(
c(i1, i2), adjprior, priorTerm c(i1, i2), adjprior, priorTerm
@ -28,8 +27,8 @@ updateGlobalVariables2 <- function(i1, i2, diffInCounts, adjprior, priorTerm) {
COUNTS[, , i1] <- COUNTS[, , i1] - diffInCounts COUNTS[, , i1] <- COUNTS[, , i1] - diffInCounts
COUNTS[, , i2] <- COUNTS[, , i2] + diffInCounts COUNTS[, , i2] <- COUNTS[, , i2] + diffInCounts
SUMCOUNTS[i1, ] <- SUMCOUNTS[i1, ] - sum[diffInCounts] SUMCOUNTS[i1, ] <- SUMCOUNTS[i1, ] - rowSums(diffInCounts)
SUMCOUNTS[i2, ] <- SUMCOUNTS[i2, ] + sum[diffInCounts] SUMCOUNTS[i2, ] <- SUMCOUNTS[i2, ] + rowSums(diffInCounts)
POP_LOGML[i1] <- 0 POP_LOGML[i1] <- 0
POP_LOGML[i2] <- computePopulationLogml(i2, adjprior, priorTerm) POP_LOGML[i2] <- computePopulationLogml(i2, adjprior, priorTerm)
@ -51,8 +50,8 @@ updateGlobalVariables3 <- function(
COUNTS[, , i1] <- COUNTS[, , i1] - diffInCounts COUNTS[, , i1] <- COUNTS[, , i1] - diffInCounts
COUNTS[, , i2] <- COUNTS[, , i2] + diffInCounts COUNTS[, , i2] <- COUNTS[, , i2] + diffInCounts
SUMCOUNTS[i1, ] <- SUMCOUNTS[i1, ] - sum[diffInCounts] SUMCOUNTS[i1, ] <- SUMCOUNTS[i1, ] - rowSums(diffInCounts)
SUMCOUNTS[i2, ] <- SUMCOUNTS[i2, ] + sum[diffInCounts] SUMCOUNTS[i2, ] <- SUMCOUNTS[i2, ] + rowSums(diffInCounts)
POP_LOGML[c(i1, i2)] <- computePopulationLogml( POP_LOGML[c(i1, i2)] <- computePopulationLogml(
c(i1, i2), adjprior, priorTerm c(i1, i2), adjprior, priorTerm