Translated function, added unit tests
This commit is contained in:
parent
3bd031515b
commit
4a7c6f6a7a
6 changed files with 50 additions and 17 deletions
17
R/admix1.R
17
R/admix1.R
|
|
@ -522,23 +522,6 @@ admix1 <- function(tietue) {
|
|||
# end
|
||||
# end
|
||||
|
||||
|
||||
# %---------------------------------------------------------------------------
|
||||
|
||||
|
||||
# function loggis = computeIndLogml(omaFreqs, osuusTaulu)
|
||||
# % Palauttaa yksilön logml:n, kun oletetaan yksilön alkuperät
|
||||
# % määritellyiksi kuten osuusTaulu:ssa.
|
||||
|
||||
# apu = repmat(osuusTaulu', [1 size(omaFreqs,2)]);
|
||||
# apu = apu .* omaFreqs;
|
||||
# apu = sum(apu);
|
||||
|
||||
# apu = log(apu);
|
||||
|
||||
# loggis = sum(apu);
|
||||
|
||||
|
||||
# %--------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
|
|||
21
R/computeIndLogml.R
Normal file
21
R/computeIndLogml.R
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
#' @title computeIndLogml
|
||||
#' @description Palauttaa yksilön logml:n, kun oletetaan yksilön alkuperät
|
||||
#' määritellyiksi kuten osuusTaulu:ssa.
|
||||
#' @param omaFreqs omaFreqs
|
||||
#' @param osuusTaulu osuusTaulu
|
||||
#' @export
|
||||
computeIndLogml <- function (omaFreqs, osuusTaulu) {
|
||||
|
||||
apu <- repmat(t(osuusTaulu), c(1, dim(omaFreqs)[2]))
|
||||
apu <- c(apu) * omaFreqs # c() avoids deprecation error re. matrix ops
|
||||
if (length(apu) > 1) {
|
||||
apu <- colSums(as.matrix(apu))
|
||||
} else {
|
||||
apu <- sum(apu)
|
||||
}
|
||||
|
||||
apu = log(apu)
|
||||
|
||||
loggis <- sum(apu)
|
||||
return (loggis)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue