Merge branch 'refactor-laskeMuutokset' into develop
This commit is contained in:
commit
ea0a5fb344
11 changed files with 563 additions and 221 deletions
|
|
@ -40,4 +40,4 @@ RoxygenNote: 7.2.1
|
||||||
Suggests:
|
Suggests:
|
||||||
testthat (>= 2.1.0)
|
testthat (>= 2.1.0)
|
||||||
Imports:
|
Imports:
|
||||||
methods, ape, vcfR, Rsamtools, adegenet, matlab2r
|
methods, ape, vcfR, Rsamtools, adegenet, matlab2r, R6
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ export(greedyPopMix)
|
||||||
export(handleData)
|
export(handleData)
|
||||||
export(handlePopData)
|
export(handlePopData)
|
||||||
export(initPopNames)
|
export(initPopNames)
|
||||||
export(laskeMuutokset4)
|
|
||||||
export(learn_partition_modified)
|
export(learn_partition_modified)
|
||||||
export(learn_simple_partition)
|
export(learn_simple_partition)
|
||||||
export(linkage)
|
export(linkage)
|
||||||
|
|
@ -40,6 +39,7 @@ export(testaaOnkoKunnollinenBapsData)
|
||||||
export(testaaPop)
|
export(testaaPop)
|
||||||
export(writeMixtureInfo)
|
export(writeMixtureInfo)
|
||||||
export(writeMixtureInfoPop)
|
export(writeMixtureInfoPop)
|
||||||
|
importFrom(R6,R6Class)
|
||||||
importFrom(Rsamtools,scanBam)
|
importFrom(Rsamtools,scanBam)
|
||||||
importFrom(adegenet,.readExt)
|
importFrom(adegenet,.readExt)
|
||||||
importFrom(adegenet,read.genepop)
|
importFrom(adegenet,read.genepop)
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,8 @@
|
||||||
etsiParas <- function(osuus, osuusTaulu, omaFreqs, logml) {
|
etsiParas <- function(osuus, osuusTaulu, omaFreqs, logml) {
|
||||||
ready <- 0
|
ready <- 0
|
||||||
while (ready != 1) {
|
while (ready != 1) {
|
||||||
muutokset <- laskeMuutokset4(osuus, osuusTaulu, omaFreqs, logml)
|
muutokset <- admix1_muutokset$new()
|
||||||
|
muutokset <- muutokset$laskeMuutokset4(osuus, osuusTaulu, omaFreqs, logml)
|
||||||
|
|
||||||
# Work around R's base::max() limitation on complex numbers
|
# Work around R's base::max() limitation on complex numbers
|
||||||
if (any(vapply(muutokset, class, vector("character", 1)) == "complex")) {
|
if (any(vapply(muutokset, class, vector("character", 1)) == "complex")) {
|
||||||
|
|
|
||||||
20
R/indMix.R
20
R/indMix.R
|
|
@ -142,8 +142,9 @@ indMix <- function(c, npops, dispText = TRUE) {
|
||||||
|
|
||||||
for (ind in inds) {
|
for (ind in inds) {
|
||||||
i1 <- PARTITION[ind]
|
i1 <- PARTITION[ind]
|
||||||
muutokset_diffInCounts <- laskeMuutokset(
|
muutokset_diffInCounts <- greedyMix_muutokset$new()
|
||||||
# FIXME: using 100-length global variables instead of the ones in this function
|
# FIXME: using 100-length global variables instead of the ones in this function
|
||||||
|
muutokset_diffInCounts <- muutokset_diffInCounts$laskeMuutokset(
|
||||||
ind, rows, data, adjprior, priorTerm
|
ind, rows, data, adjprior, priorTerm
|
||||||
)
|
)
|
||||||
muutokset <- muutokset_diffInCounts$muutokset
|
muutokset <- muutokset_diffInCounts$muutokset
|
||||||
|
|
@ -190,7 +191,8 @@ indMix <- function(c, npops, dispText = TRUE) {
|
||||||
} else if (round == 2) { # Populaation yhdist<73>minen toiseen.
|
} else if (round == 2) { # Populaation yhdist<73>minen toiseen.
|
||||||
maxMuutos <- 0
|
maxMuutos <- 0
|
||||||
for (pop in 1:npops) {
|
for (pop in 1:npops) {
|
||||||
muutokset_diffInCounts <- laskeMuutokset2(
|
muutokset_diffInCounts <- greedyMix_muutokset$new()
|
||||||
|
muutokset_diffInCounts <- muutokset_diffInCounts$laskeMuutokset2(
|
||||||
pop, rows, data, adjprior, priorTerm
|
pop, rows, data, adjprior, priorTerm
|
||||||
)
|
)
|
||||||
muutokset <- muutokset_diffInCounts$muutokset
|
muutokset <- muutokset_diffInCounts$muutokset
|
||||||
|
|
@ -244,7 +246,8 @@ indMix <- function(c, npops, dispText = TRUE) {
|
||||||
npops2 <- 2 # Moneenko osaan jaetaan
|
npops2 <- 2 # Moneenko osaan jaetaan
|
||||||
}
|
}
|
||||||
T2 <- cluster_own(Z2, npops2)
|
T2 <- cluster_own(Z2, npops2)
|
||||||
muutokset <- laskeMuutokset3(
|
muutokset_diffInCounts <- greedyMix_muutokset$new()
|
||||||
|
muutokset <- muutokset_diffInCounts$laskeMuutokset3(
|
||||||
T2, inds2, rows, data, adjprior, priorTerm, pop
|
T2, inds2, rows, data, adjprior, priorTerm, pop
|
||||||
)
|
)
|
||||||
isoin <- matlab2r::max(muutokset)[[1]]
|
isoin <- matlab2r::max(muutokset)[[1]]
|
||||||
|
|
@ -326,8 +329,8 @@ indMix <- function(c, npops, dispText = TRUE) {
|
||||||
while (length(inds) > 0 & i < length(inds)) {
|
while (length(inds) > 0 & i < length(inds)) {
|
||||||
i <- i + 1
|
i <- i + 1
|
||||||
ind <- inds[i]
|
ind <- inds[i]
|
||||||
|
muutokset_diffInCounts <- greedyMix_muutokset$new()
|
||||||
muutokset_diffInCounts <- laskeMuutokset(
|
muutokset_diffInCounts <- muutokset_diffInCounts$laskeMuutokset(
|
||||||
ind, rows, data, adjprior, priorTerm
|
ind, rows, data, adjprior, priorTerm
|
||||||
)
|
)
|
||||||
muutokset <- muutokset_diffInCounts$muutokset
|
muutokset <- muutokset_diffInCounts$muutokset
|
||||||
|
|
@ -411,8 +414,8 @@ indMix <- function(c, npops, dispText = TRUE) {
|
||||||
Z2 <- linkage(t(dist2))
|
Z2 <- linkage(t(dist2))
|
||||||
T2 <- cluster_own(Z2, 2)
|
T2 <- cluster_own(Z2, 2)
|
||||||
muuttuvat <- inds2[matlab2r::find(T2 == 1)]
|
muuttuvat <- inds2[matlab2r::find(T2 == 1)]
|
||||||
|
muutokset <- greedyMix_muutokset$new()
|
||||||
muutokset <- laskeMuutokset3(
|
muutokset <- muutokset$laskeMuutokset3(
|
||||||
T2, inds2, rows, data, adjprior, priorTerm, pop
|
T2, inds2, rows, data, adjprior, priorTerm, pop
|
||||||
)
|
)
|
||||||
totalMuutos <- muutokset(1, emptyPop)
|
totalMuutos <- muutokset(1, emptyPop)
|
||||||
|
|
@ -436,7 +439,8 @@ indMix <- function(c, npops, dispText = TRUE) {
|
||||||
while (muutettu == 1) {
|
while (muutettu == 1) {
|
||||||
muutettu <- 0
|
muutettu <- 0
|
||||||
# Siirret<65><74>n yksil<69>it<69> populaatioiden v<>lill<6C>
|
# Siirret<65><74>n yksil<69>it<69> populaatioiden v<>lill<6C>
|
||||||
muutokset <- laskeMuutokset5(
|
muutokset <- greedyMix_muutokset$new()
|
||||||
|
muutokset <- muutokset$laskeMuutokset5(
|
||||||
inds2, rows, data, adjprior, priorTerm,
|
inds2, rows, data, adjprior, priorTerm,
|
||||||
pop, emptyPop
|
pop, emptyPop
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,37 @@
|
||||||
#' @title Calculate changes (?)
|
#' @title Calculate changes (spatial mixture class)
|
||||||
|
spatialMixture_muutokset <- R6Class(
|
||||||
|
classname = "spatialMixture_muutokset",
|
||||||
|
public = list(
|
||||||
|
#' @param ind ind
|
||||||
|
#' @param rowsFromInd rowsFromInd
|
||||||
|
#' @param data data
|
||||||
|
#' @param adjprior adjprior
|
||||||
|
#' @param priorTerm priorTerm
|
||||||
|
#' @param logml logml
|
||||||
|
#' @param cliques cliques
|
||||||
|
#' @param separators separators
|
||||||
|
laskeMuutokset = function(
|
||||||
|
ind, rowsFromInd, data, adjprior, priorTerm, logml, cliques, separators
|
||||||
|
) {
|
||||||
|
stop("Not yet implemented") # TODO: implement
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
#' @title Calculate changes (admix1 class)
|
||||||
#' @description Palauttaa npops*npops taulun, jonka alkio (i,j) kertoo, mik?on
|
#' @description Palauttaa npops*npops taulun, jonka alkio (i,j) kertoo, mik?on
|
||||||
#' muutos logml:ss? mikäli populaatiosta i siirretään osuuden verran
|
#' muutos logml:ss? mikäli populaatiosta i siirretään osuuden verran
|
||||||
#' todennäköisyysmassaa populaatioon j. Mikäli populaatiossa i ei ole mitään
|
#' todennäköisyysmassaa populaatioon j. Mikäli populaatiossa i ei ole mitään
|
||||||
#' siirrettävää, on vastaavassa kohdassa rivi nollia.
|
#' siirrettävää, on vastaavassa kohdassa rivi nollia.
|
||||||
#' @param osuus Percentages?
|
#' @importFrom R6 R6Class
|
||||||
#' @param omaFreqs own Freqs?
|
admix1_muutokset <- R6Class(
|
||||||
#' @param osuusTaulu Percentage table?
|
classname = "admix1_muutokset",
|
||||||
#' @param logml log maximum likelihood
|
public = list(
|
||||||
#' @export
|
#' @param osuus Percentages?
|
||||||
laskeMuutokset4 <- function(osuus, osuusTaulu, omaFreqs, logml) {
|
#' @param osuusTaulu Percentage table?
|
||||||
|
#' @param omaFreqs own Freqs?
|
||||||
|
#' @param logml log maximum likelihood
|
||||||
|
laskeMuutokset4 = function(osuus, osuusTaulu, omaFreqs, logml) {
|
||||||
if (isGlobalEmpty(COUNTS)) {
|
if (isGlobalEmpty(COUNTS)) {
|
||||||
npops <- 1
|
npops <- 1
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -38,17 +61,28 @@ laskeMuutokset4 <- function(osuus, osuusTaulu, omaFreqs, logml) {
|
||||||
osuusTaulu[i1] <- osuusTaulu[i1] + osuus
|
osuusTaulu[i1] <- osuusTaulu[i1] + osuus
|
||||||
}
|
}
|
||||||
return(muutokset)
|
return(muutokset)
|
||||||
}
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
# Palauttaa npops*1 taulun, jossa i:s alkio kertoo, mik<69> olisi
|
#' @title Calculate changes (greedyMix class)
|
||||||
# muutos logml:ss<73>, mik<69>li yksil<69> ind siirret<65><74>n koriin i.
|
#' @description Palauttaa npops*1 taulun, jossa i:s alkio kertoo, mik<69> olisi
|
||||||
# diffInCounts on poistettava COUNTS:in siivusta i1 ja lis<69>tt<74>v<EFBFBD>
|
#' muutos logml:ss<73>, mik<69>li yksil<69> ind siirret<65><74>n koriin i.
|
||||||
# COUNTS:in siivuun i2, mik<69>li muutos toteutetaan.
|
#' diffInCounts on poistettava COUNTS:in siivusta i1 ja lis<69>tt<74>v<EFBFBD>
|
||||||
#
|
#' COUNTS:in siivuun i2, mik<69>li muutos toteutetaan.
|
||||||
# Lis<69>ys 25.9.2007:
|
#'
|
||||||
# Otettu k<>ytt<74><74>n globaali muuttuja LOGDIFF, johon on tallennettu muutokset
|
#' Lis<69>ys 25.9.2007:
|
||||||
# logml:ss<73> siirrett<74>ess<73> yksil<69>it<69> toisiin populaatioihin.
|
#' Otettu k<>ytt<74><74>n globaali muuttuja LOGDIFF, johon on tallennettu muutokset
|
||||||
laskeMuutokset <- function(ind, globalRows, data, adjprior, priorTerm) {
|
#' logml:ss<73> siirrett<74>ess<73> yksil<69>it<69> toisiin populaatioihin.
|
||||||
|
greedyMix_muutokset <- R6Class(
|
||||||
|
classname = "greedyMix_muutokset",
|
||||||
|
public = list(
|
||||||
|
#' @param ind ind
|
||||||
|
#' @param globalRows globalRows
|
||||||
|
#' @param data data
|
||||||
|
#' @param adjprior adjprior
|
||||||
|
#' @param priorTerm priorTerm
|
||||||
|
laskeMuutokset = function(ind, globalRows, data, adjprior, priorTerm) {
|
||||||
npops <- size(COUNTS, 3)
|
npops <- size(COUNTS, 3)
|
||||||
muutokset <- LOGDIFF[ind, ]
|
muutokset <- LOGDIFF[ind, ]
|
||||||
|
|
||||||
|
|
@ -83,9 +117,13 @@ laskeMuutokset <- function(ind, globalRows, data, adjprior, priorTerm) {
|
||||||
muutokset[i2] <- new_i1_logml - i1_logml + new_i2_logml - i2_logml
|
muutokset[i2] <- new_i1_logml - i1_logml + new_i2_logml - i2_logml
|
||||||
LOGDIFF[ind, ] <- muutokset
|
LOGDIFF[ind, ] <- muutokset
|
||||||
return(list(muutokset = muutokset, diffInCounts = diffInCounts))
|
return(list(muutokset = muutokset, diffInCounts = diffInCounts))
|
||||||
}
|
},
|
||||||
|
#' @param i1 i1
|
||||||
laskeMuutokset2 <- function(i1, globalRows, data, adjprior, priorTerm) {
|
#' @param globalRows globalRows
|
||||||
|
#' @param data data
|
||||||
|
#' @param adjprior adjprior
|
||||||
|
#' @param priorTerm priorTerm
|
||||||
|
laskeMuutokset2 = function(i1, globalRows, data, adjprior, priorTerm) {
|
||||||
# % Palauttaa npops*1 taulun, jossa i:s alkio kertoo, mik<69> olisi
|
# % Palauttaa npops*1 taulun, jossa i:s alkio kertoo, mik<69> olisi
|
||||||
# % muutos logml:ss<73>, mik<69>li korin i1 kaikki yksil<69>t siirret<65><74>n
|
# % muutos logml:ss<73>, mik<69>li korin i1 kaikki yksil<69>t siirret<65><74>n
|
||||||
# % koriin i.
|
# % koriin i.
|
||||||
|
|
@ -132,11 +170,17 @@ laskeMuutokset2 <- function(i1, globalRows, data, adjprior, priorTerm) {
|
||||||
|
|
||||||
muutokset[i2] <- new_i1_logml - i1_logml + new_i2_logml - i2_logml
|
muutokset[i2] <- new_i1_logml - i1_logml + new_i2_logml - i2_logml
|
||||||
return(list(muutokset = muutokset, diffInCounts = diffInCounts))
|
return(list(muutokset = muutokset, diffInCounts = diffInCounts))
|
||||||
}
|
},
|
||||||
|
#' @param T2 T2
|
||||||
|
#' @param inds2 inds2
|
||||||
laskeMuutokset3 <- function(T2, inds2, globalRows, data, adjprior, priorTerm, i1
|
#' @param globalRows globalRows
|
||||||
) {
|
#' @param data data
|
||||||
|
#' @param adjprior adjprior
|
||||||
|
#' @param priorTerm priorTerm
|
||||||
|
#' @param i1 i1
|
||||||
|
laskeMuutokset3 = function(
|
||||||
|
T2, inds2, globalRows, data, adjprior, priorTerm, i1
|
||||||
|
) {
|
||||||
# Palauttaa length(unique(T2))*npops taulun, jossa (i,j):s alkio
|
# Palauttaa length(unique(T2))*npops taulun, jossa (i,j):s alkio
|
||||||
# kertoo, mik<69> olisi muutos logml:ss<73>, jos populaation i1 osapopulaatio
|
# kertoo, mik<69> olisi muutos logml:ss<73>, jos populaation i1 osapopulaatio
|
||||||
# inds2(matlab2r::find(T2==i)) siirret<65><74>n koriin j.
|
# inds2(matlab2r::find(T2==i)) siirret<65><74>n koriin j.
|
||||||
|
|
@ -180,9 +224,15 @@ laskeMuutokset3 <- function(T2, inds2, globalRows, data, adjprior, priorTerm, i1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return(muutokset)
|
return(muutokset)
|
||||||
}
|
},
|
||||||
|
#' @param inds inds
|
||||||
laskeMuutokset5 <- function(inds, globalRows, data, adjprior, priorTerm, i1, i2) {
|
#' @param globalRows globalRows
|
||||||
|
#' @param data data
|
||||||
|
#' @param adjprior adjprior
|
||||||
|
#' @param priorTerm priorTerm
|
||||||
|
#' @param i1 i1
|
||||||
|
#' @param i2 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>.
|
||||||
|
|
||||||
|
|
@ -225,4 +275,6 @@ laskeMuutokset5 <- function(inds, globalRows, data, adjprior, priorTerm, i1, i2)
|
||||||
|
|
||||||
muutokset <- muutokset - i1_logml - i2_logml
|
muutokset <- muutokset - i1_logml - i2_logml
|
||||||
return(muutokset)
|
return(muutokset)
|
||||||
}
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
|
||||||
13
R/laskeVarmuus.R
Normal file
13
R/laskeVarmuus.R
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
laskeVarmuus <- function(
|
||||||
|
rowsFromInd, data, adjprior, priorTerm, logml, cliques, separators, ninds
|
||||||
|
) {
|
||||||
|
varmuus <- zeros(ninds, 1)
|
||||||
|
for (ind in 1:ninds) {
|
||||||
|
muutokset <- spatialMixture_muutokset$new()
|
||||||
|
muutokset <- muutokset$laskeMuutokset(
|
||||||
|
ind, rowsFromInd, data, adjprior, priorTerm, logml, cliques, separators
|
||||||
|
)
|
||||||
|
varmuus[ind] <- 1 / sum(exp(muutokset))
|
||||||
|
}
|
||||||
|
return(varmuus)
|
||||||
|
}
|
||||||
58
man/admix1_muutokset.Rd
Normal file
58
man/admix1_muutokset.Rd
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/laskeMuutokset12345.R
|
||||||
|
\name{admix1_muutokset}
|
||||||
|
\alias{admix1_muutokset}
|
||||||
|
\title{Calculate changes (admix1 class)}
|
||||||
|
\description{
|
||||||
|
Palauttaa npops*npops taulun, jonka alkio (i,j) kertoo, mik?on
|
||||||
|
muutos logml:ss? mikäli populaatiosta i siirretään osuuden verran
|
||||||
|
todennäköisyysmassaa populaatioon j. Mikäli populaatiossa i ei ole mitään
|
||||||
|
siirrettävää, on vastaavassa kohdassa rivi nollia.
|
||||||
|
}
|
||||||
|
\section{Methods}{
|
||||||
|
\subsection{Public methods}{
|
||||||
|
\itemize{
|
||||||
|
\item \href{#method-admix1_muutokset-laskeMuutokset4}{\code{admix1_muutokset$laskeMuutokset4()}}
|
||||||
|
\item \href{#method-admix1_muutokset-clone}{\code{admix1_muutokset$clone()}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-admix1_muutokset-laskeMuutokset4"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-admix1_muutokset-laskeMuutokset4}{}}}
|
||||||
|
\subsection{Method \code{laskeMuutokset4()}}{
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{admix1_muutokset$laskeMuutokset4(osuus, osuusTaulu, omaFreqs, logml)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{osuus}}{Percentages?}
|
||||||
|
|
||||||
|
\item{\code{osuusTaulu}}{Percentage table?}
|
||||||
|
|
||||||
|
\item{\code{omaFreqs}}{own Freqs?}
|
||||||
|
|
||||||
|
\item{\code{logml}}{log maximum likelihood}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-admix1_muutokset-clone"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-admix1_muutokset-clone}{}}}
|
||||||
|
\subsection{Method \code{clone()}}{
|
||||||
|
The objects of this class are cloneable with this method.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{admix1_muutokset$clone(deep = FALSE)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{deep}}{Whether to make a deep clone.}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
163
man/greedyMix_muutokset.Rd
Normal file
163
man/greedyMix_muutokset.Rd
Normal file
|
|
@ -0,0 +1,163 @@
|
||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/laskeMuutokset12345.R
|
||||||
|
\name{greedyMix_muutokset}
|
||||||
|
\alias{greedyMix_muutokset}
|
||||||
|
\title{Calculate changes (greedyMix class)}
|
||||||
|
\description{
|
||||||
|
Palauttaa npops*1 taulun, jossa i:s alkio kertoo, mik<69> olisi
|
||||||
|
muutos logml:ss<73>, mik<69>li yksil<69> ind siirret<65><74>n koriin i.
|
||||||
|
diffInCounts on poistettava COUNTS:in siivusta i1 ja lis<69>tt<74>v<EFBFBD>
|
||||||
|
COUNTS:in siivuun i2, mik<69>li muutos toteutetaan.
|
||||||
|
|
||||||
|
Lis<EFBFBD>ys 25.9.2007:
|
||||||
|
Otettu k<>ytt<74><74>n globaali muuttuja LOGDIFF, johon on tallennettu muutokset
|
||||||
|
logml:ss<73> siirrett<74>ess<73> yksil<69>it<69> toisiin populaatioihin.
|
||||||
|
}
|
||||||
|
\section{Methods}{
|
||||||
|
\subsection{Public methods}{
|
||||||
|
\itemize{
|
||||||
|
\item \href{#method-greedyMix_muutokset-laskeMuutokset}{\code{greedyMix_muutokset$laskeMuutokset()}}
|
||||||
|
\item \href{#method-greedyMix_muutokset-laskeMuutokset2}{\code{greedyMix_muutokset$laskeMuutokset2()}}
|
||||||
|
\item \href{#method-greedyMix_muutokset-laskeMuutokset3}{\code{greedyMix_muutokset$laskeMuutokset3()}}
|
||||||
|
\item \href{#method-greedyMix_muutokset-laskeMuutokset5}{\code{greedyMix_muutokset$laskeMuutokset5()}}
|
||||||
|
\item \href{#method-greedyMix_muutokset-clone}{\code{greedyMix_muutokset$clone()}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-greedyMix_muutokset-laskeMuutokset"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-greedyMix_muutokset-laskeMuutokset}{}}}
|
||||||
|
\subsection{Method \code{laskeMuutokset()}}{
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{greedyMix_muutokset$laskeMuutokset(ind, globalRows, data, adjprior, priorTerm)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{ind}}{ind}
|
||||||
|
|
||||||
|
\item{\code{globalRows}}{globalRows}
|
||||||
|
|
||||||
|
\item{\code{data}}{data}
|
||||||
|
|
||||||
|
\item{\code{adjprior}}{adjprior}
|
||||||
|
|
||||||
|
\item{\code{priorTerm}}{priorTerm}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-greedyMix_muutokset-laskeMuutokset2"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-greedyMix_muutokset-laskeMuutokset2}{}}}
|
||||||
|
\subsection{Method \code{laskeMuutokset2()}}{
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{greedyMix_muutokset$laskeMuutokset2(i1, globalRows, data, adjprior, priorTerm)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{i1}}{i1}
|
||||||
|
|
||||||
|
\item{\code{globalRows}}{globalRows}
|
||||||
|
|
||||||
|
\item{\code{data}}{data}
|
||||||
|
|
||||||
|
\item{\code{adjprior}}{adjprior}
|
||||||
|
|
||||||
|
\item{\code{priorTerm}}{priorTerm}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-greedyMix_muutokset-laskeMuutokset3"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-greedyMix_muutokset-laskeMuutokset3}{}}}
|
||||||
|
\subsection{Method \code{laskeMuutokset3()}}{
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{greedyMix_muutokset$laskeMuutokset3(
|
||||||
|
T2,
|
||||||
|
inds2,
|
||||||
|
globalRows,
|
||||||
|
data,
|
||||||
|
adjprior,
|
||||||
|
priorTerm,
|
||||||
|
i1
|
||||||
|
)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{T2}}{T2}
|
||||||
|
|
||||||
|
\item{\code{inds2}}{inds2}
|
||||||
|
|
||||||
|
\item{\code{globalRows}}{globalRows}
|
||||||
|
|
||||||
|
\item{\code{data}}{data}
|
||||||
|
|
||||||
|
\item{\code{adjprior}}{adjprior}
|
||||||
|
|
||||||
|
\item{\code{priorTerm}}{priorTerm}
|
||||||
|
|
||||||
|
\item{\code{i1}}{i1}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-greedyMix_muutokset-laskeMuutokset5"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-greedyMix_muutokset-laskeMuutokset5}{}}}
|
||||||
|
\subsection{Method \code{laskeMuutokset5()}}{
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{greedyMix_muutokset$laskeMuutokset5(
|
||||||
|
inds,
|
||||||
|
globalRows,
|
||||||
|
data,
|
||||||
|
adjprior,
|
||||||
|
priorTerm,
|
||||||
|
i1,
|
||||||
|
i2
|
||||||
|
)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{inds}}{inds}
|
||||||
|
|
||||||
|
\item{\code{globalRows}}{globalRows}
|
||||||
|
|
||||||
|
\item{\code{data}}{data}
|
||||||
|
|
||||||
|
\item{\code{adjprior}}{adjprior}
|
||||||
|
|
||||||
|
\item{\code{priorTerm}}{priorTerm}
|
||||||
|
|
||||||
|
\item{\code{i1}}{i1}
|
||||||
|
|
||||||
|
\item{\code{i2}}{i2}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-greedyMix_muutokset-clone"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-greedyMix_muutokset-clone}{}}}
|
||||||
|
\subsection{Method \code{clone()}}{
|
||||||
|
The objects of this class are cloneable with this method.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{greedyMix_muutokset$clone(deep = FALSE)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{deep}}{Whether to make a deep clone.}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
% Generated by roxygen2: do not edit by hand
|
|
||||||
% Please edit documentation in R/laskeMuutokset12345.R
|
|
||||||
\name{laskeMuutokset4}
|
|
||||||
\alias{laskeMuutokset4}
|
|
||||||
\title{Calculate changes (?)}
|
|
||||||
\usage{
|
|
||||||
laskeMuutokset4(osuus, osuusTaulu, omaFreqs, logml)
|
|
||||||
}
|
|
||||||
\arguments{
|
|
||||||
\item{osuus}{Percentages?}
|
|
||||||
|
|
||||||
\item{osuusTaulu}{Percentage table?}
|
|
||||||
|
|
||||||
\item{omaFreqs}{own Freqs?}
|
|
||||||
|
|
||||||
\item{logml}{log maximum likelihood}
|
|
||||||
}
|
|
||||||
\description{
|
|
||||||
Palauttaa npops*npops taulun, jonka alkio (i,j) kertoo, mik?on
|
|
||||||
muutos logml:ss? mikäli populaatiosta i siirretään osuuden verran
|
|
||||||
todennäköisyysmassaa populaatioon j. Mikäli populaatiossa i ei ole mitään
|
|
||||||
siirrettävää, on vastaavassa kohdassa rivi nollia.
|
|
||||||
}
|
|
||||||
74
man/spatialMixture_muutokset.Rd
Normal file
74
man/spatialMixture_muutokset.Rd
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/laskeMuutokset12345.R
|
||||||
|
\name{spatialMixture_muutokset}
|
||||||
|
\alias{spatialMixture_muutokset}
|
||||||
|
\title{Calculate changes (spatial mixture class)}
|
||||||
|
\description{
|
||||||
|
Calculate changes (spatial mixture class)
|
||||||
|
|
||||||
|
Calculate changes (spatial mixture class)
|
||||||
|
}
|
||||||
|
\section{Methods}{
|
||||||
|
\subsection{Public methods}{
|
||||||
|
\itemize{
|
||||||
|
\item \href{#method-spatialMixture_muutokset-laskeMuutokset}{\code{spatialMixture_muutokset$laskeMuutokset()}}
|
||||||
|
\item \href{#method-spatialMixture_muutokset-clone}{\code{spatialMixture_muutokset$clone()}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-spatialMixture_muutokset-laskeMuutokset"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-spatialMixture_muutokset-laskeMuutokset}{}}}
|
||||||
|
\subsection{Method \code{laskeMuutokset()}}{
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{spatialMixture_muutokset$laskeMuutokset(
|
||||||
|
ind,
|
||||||
|
rowsFromInd,
|
||||||
|
data,
|
||||||
|
adjprior,
|
||||||
|
priorTerm,
|
||||||
|
logml,
|
||||||
|
cliques,
|
||||||
|
separators
|
||||||
|
)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{ind}}{ind}
|
||||||
|
|
||||||
|
\item{\code{rowsFromInd}}{rowsFromInd}
|
||||||
|
|
||||||
|
\item{\code{data}}{data}
|
||||||
|
|
||||||
|
\item{\code{adjprior}}{adjprior}
|
||||||
|
|
||||||
|
\item{\code{priorTerm}}{priorTerm}
|
||||||
|
|
||||||
|
\item{\code{logml}}{logml}
|
||||||
|
|
||||||
|
\item{\code{cliques}}{cliques}
|
||||||
|
|
||||||
|
\item{\code{separators}}{separators}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\if{html}{\out{<hr>}}
|
||||||
|
\if{html}{\out{<a id="method-spatialMixture_muutokset-clone"></a>}}
|
||||||
|
\if{latex}{\out{\hypertarget{method-spatialMixture_muutokset-clone}{}}}
|
||||||
|
\subsection{Method \code{clone()}}{
|
||||||
|
The objects of this class are cloneable with this method.
|
||||||
|
\subsection{Usage}{
|
||||||
|
\if{html}{\out{<div class="r">}}\preformatted{spatialMixture_muutokset$clone(deep = FALSE)}\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Arguments}{
|
||||||
|
\if{html}{\out{<div class="arguments">}}
|
||||||
|
\describe{
|
||||||
|
\item{\code{deep}}{Whether to make a deep clone.}
|
||||||
|
}
|
||||||
|
\if{html}{\out{</div>}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -147,9 +147,9 @@ test_that("suoritaMuutos works like on Matlab", {
|
||||||
})
|
})
|
||||||
|
|
||||||
test_that("laskeMuutokset4 works like on Matlab", {
|
test_that("laskeMuutokset4 works like on Matlab", {
|
||||||
mx1 <- t(c(.4, 7))
|
x <- admix1_muutokset$new()
|
||||||
expect_equivalent(
|
expect_equivalent(
|
||||||
object = laskeMuutokset4(2, mx1, c(8, 2), 3),
|
object = x$laskeMuutokset4(2, t(c(.4, 7)), c(8, 2), 3),
|
||||||
expected = t(c(0, .3742)),
|
expected = t(c(0, .3742)),
|
||||||
tol = .0001
|
tol = .0001
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue