Fixed handling of global
This commit is contained in:
parent
d47b84fb55
commit
0de7026430
4 changed files with 24 additions and 13 deletions
|
|
@ -10,11 +10,14 @@
|
||||||
#' @export
|
#' @export
|
||||||
|
|
||||||
computePersonalAllFreqs <- function(ind, data, allFreqs, rowsFromInd) {
|
computePersonalAllFreqs <- function(ind, data, allFreqs, rowsFromInd) {
|
||||||
nloci <- ifelse(is.na(dim(COUNTS)[2]), 1, dim(COUNTS)[2])
|
if (is.null(dim(COUNTS))) {
|
||||||
npops <- ifelse(is.na(dim(COUNTS)[3]), 1, dim(COUNTS)[3])
|
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]
|
rows <- as.matrix(t(data))[computeRows(rowsFromInd, ind, 1), , drop = FALSE]
|
||||||
|
|
||||||
omaFreqs <- zeros(npops, rowsFromInd * nloci)
|
omaFreqs <- zeros(npops, rowsFromInd * nloci)
|
||||||
pointer <- 1
|
pointer <- 1
|
||||||
for (loc in 1:dim(rows)[2]) {
|
for (loc in 1:dim(rows)[2]) {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,11 @@
|
||||||
#' @param logml log maximum likelihood
|
#' @param logml log maximum likelihood
|
||||||
#' @export
|
#' @export
|
||||||
laskeMuutokset4 <- function (osuus, osuusTaulu, omaFreqs, logml) {
|
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)
|
notEmpty <- which(osuusTaulu > 0.005)
|
||||||
muutokset <- zeros(npops)
|
muutokset <- zeros(npops)
|
||||||
empties <- !notEmpty
|
empties <- !notEmpty
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,18 @@
|
||||||
#' @param indeksi index
|
#' @param indeksi index
|
||||||
#' @export
|
#' @export
|
||||||
suoritaMuutos <- function (osuusTaulu, osuus, indeksi) {
|
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
|
i1 <- indeksi %% npops
|
||||||
if (is.na(i1) | i1 == 0) i1 <- npops
|
if (is.na(i1) | i1 == 0) i1 <- npops
|
||||||
i2 <- ceiling(indeksi / npops)
|
i2 <- ceiling(indeksi / npops)
|
||||||
|
|
||||||
osuusTaulu[i1] <- osuusTaulu[i1] - osuus
|
osuusTaulu[i1] <- osuusTaulu[i1] - osuus
|
||||||
osuusTaulu[i2] <- osuusTaulu[i2] + osuus
|
osuusTaulu[i2] <- osuusTaulu[i2] + osuus
|
||||||
|
|
||||||
return (osuusTaulu)
|
return (osuusTaulu)
|
||||||
}
|
}
|
||||||
Loading…
Add table
Reference in a new issue