Added lakseMuutokset5
This commit is contained in:
parent
9a38c59ab9
commit
6d6d8c557d
1 changed files with 34 additions and 33 deletions
|
|
@ -182,45 +182,46 @@ laskeMuutokset3 <- function(T2, inds2, globalRows, data, adjprior, priorTerm, i1
|
||||||
}
|
}
|
||||||
|
|
||||||
laskeMuutokset5 <- function(inds, globalRows, data, adjprior, priorTerm, i1, i2) {
|
laskeMuutokset5 <- function(inds, globalRows, data, adjprior, priorTerm, i1, i2) {
|
||||||
# % Palauttaa length(inds)*1 taulun, jossa i:s alkio kertoo, mik<69> olisi
|
# Palauttaa length(inds)*1 taulun, jossa i:s alkio kertoo, mik<69> olisi
|
||||||
# % muutos logml:ss<73>, mik<69>li yksil<69> i vaihtaisi koria i1:n ja i2:n v<>lill<6C>.
|
# muutos logml:ss<73>, mik<69>li yksil<69> i vaihtaisi koria i1:n ja i2:n v<>lill<6C>.
|
||||||
|
|
||||||
# global COUNTS; global SUMCOUNTS;
|
ninds <- length(inds)
|
||||||
# global PARTITION; global POP_LOGML;
|
muutokset <- zeros(ninds, 1)
|
||||||
|
|
||||||
# ninds = length(inds);
|
i1_logml <- POP_LOGML[i1]
|
||||||
# muutokset = zeros(ninds,1);
|
i2_logml <- POP_LOGML[i2]
|
||||||
|
|
||||||
# i1_logml = POP_LOGML(i1);
|
for (i in 1:ninds) {
|
||||||
# i2_logml = POP_LOGML(i2);
|
ind <- inds[i]
|
||||||
|
if (PARTITION[ind] == i1) {
|
||||||
|
pop1 <- i1 #mist<73>
|
||||||
|
pop2 <- i2 #mihin
|
||||||
|
} else {
|
||||||
|
pop1 <- i2
|
||||||
|
pop2 <- i1
|
||||||
|
}
|
||||||
|
rows <- globalRows[ind, 1]:globalRows[ind, 2]
|
||||||
|
diffInCounts <- computeDiffInCounts(
|
||||||
|
rows, size(COUNTS, 1), size(COUNTS, 2), data
|
||||||
|
)
|
||||||
|
diffInSumCounts <- sum(diffInCounts)
|
||||||
|
|
||||||
# for i = 1:ninds
|
|
||||||
# ind = inds(i);
|
|
||||||
# if PARTITION(ind)==i1
|
|
||||||
# pop1 = i1; %mist<73>
|
|
||||||
# pop2 = i2; %mihin
|
|
||||||
# else
|
|
||||||
# pop1 = i2;
|
|
||||||
# pop2 = i1;
|
|
||||||
# end
|
|
||||||
# rows = globalRows(ind,1):globalRows(ind,2);
|
|
||||||
# diffInCounts = computeDiffInCounts(rows, size(COUNTS,1), size(COUNTS,2), data);
|
|
||||||
# diffInSumCounts = sum(diffInCounts);
|
|
||||||
|
|
||||||
# COUNTS(:,:,pop1) = COUNTS(:,:,pop1)-diffInCounts;
|
|
||||||
# SUMCOUNTS(pop1,:) = SUMCOUNTS(pop1,:)-diffInSumCounts;
|
|
||||||
# COUNTS(:,:,pop2) = COUNTS(:,:,pop2)+diffInCounts;
|
|
||||||
# SUMCOUNTS(pop2,:) = SUMCOUNTS(pop2,:)+diffInSumCounts;
|
|
||||||
|
|
||||||
# new_logmls = computePopulationLogml([i1 i2], adjprior, priorTerm);
|
COUNTS[, , pop1] <- COUNTS[, , pop1] - diffInCounts
|
||||||
# muutokset(i) = sum(new_logmls);
|
SUMCOUNTS[pop1, ] <- SUMCOUNTS[pop1, ] - diffInSumCounts
|
||||||
|
COUNTS[, , pop2] <- COUNTS[, , pop2] + diffInCounts
|
||||||
|
SUMCOUNTS[pop2, ] <- SUMCOUNTS[pop2, ] + diffInSumCounts
|
||||||
|
|
||||||
# COUNTS(:,:,pop1) = COUNTS(:,:,pop1)+diffInCounts;
|
new_logmls <- computePopulationLogml(c(i1, i2), adjprior, priorTerm)
|
||||||
# SUMCOUNTS(pop1,:) = SUMCOUNTS(pop1,:)+diffInSumCounts;
|
muutokset[i] <- sum(new_logmls)
|
||||||
# COUNTS(:,:,pop2) = COUNTS(:,:,pop2)-diffInCounts;
|
|
||||||
# SUMCOUNTS(pop2,:) = SUMCOUNTS(pop2,:)-diffInSumCounts;
|
|
||||||
# end
|
|
||||||
|
|
||||||
# muutokset = muutokset - i1_logml - i2_logml;
|
COUNTS[, , pop1] <- COUNTS[, , pop1] + diffInCounts
|
||||||
return(muutokset)
|
SUMCOUNTS[pop1, ] <- SUMCOUNTS[pop1, ] + diffInSumCounts
|
||||||
|
COUNTS[, , pop2] <- COUNTS[, , pop2] - diffInCounts
|
||||||
|
SUMCOUNTS[pop2, ] <- SUMCOUNTS[pop2, ] - diffInSumCounts
|
||||||
|
}
|
||||||
|
|
||||||
|
muutokset <- muutokset - i1_logml - i2_logml
|
||||||
|
return(muutokset)
|
||||||
}
|
}
|
||||||
Loading…
Add table
Reference in a new issue