2020-11-09 08:41:41 +01:00
|
|
|
|
returnInOrder <- function(inds, pop, globalRows, data, adjprior, priorTerm) {
|
|
|
|
|
|
# % Palauttaa yksil<69>t j<>rjestyksess<73> siten, ett<74> ensimm<6D>isen<65> on
|
|
|
|
|
|
# % se, jonka poistaminen populaatiosta pop nostaisi logml:n
|
|
|
|
|
|
# % arvoa eniten.
|
|
|
|
|
|
|
|
|
|
|
|
ninds <- length(inds)
|
2020-11-09 14:30:53 +01:00
|
|
|
|
apuTaulu <- c(inds, zeros(ninds, 1))
|
2020-11-09 08:41:41 +01:00
|
|
|
|
|
|
|
|
|
|
for (i in 1:ninds) {
|
|
|
|
|
|
ind <- inds[i]
|
|
|
|
|
|
rows <- globalRows[i, 1]:globalRows[i, 2]
|
|
|
|
|
|
diffInCounts <- computeDiffInCounts(
|
|
|
|
|
|
rows, size[COUNTS, 1], size[COUNTS, 2], data
|
|
|
|
|
|
)
|
|
|
|
|
|
diffInSumCounts <- sum(diffInCounts)
|
|
|
|
|
|
|
|
|
|
|
|
COUNTS[ , ,pop] <- COUNTS[ , ,pop] - diffInCounts
|
|
|
|
|
|
SUMCOUNTS[pop, ] <- SUMCOUNTS[pop, ] - diffInSumCounts
|
|
|
|
|
|
apuTaulu[i, 2] <- computePopulationLogml(pop, adjprior, priorTerm)
|
|
|
|
|
|
COUNTS[ , ,pop] <- COUNTS[ , ,pop] + diffInCounts
|
|
|
|
|
|
SUMCOUNTS[pop, ] <- SUMCOUNTS[pop, ] + diffInSumCounts
|
|
|
|
|
|
}
|
|
|
|
|
|
apuTaulu <- sortrows(apuTaulu, 2)
|
|
|
|
|
|
inds <- apuTaulu[ninds:1, 1]
|
|
|
|
|
|
return(inds)
|
|
|
|
|
|
}
|