Translated function, added unit tests

This commit is contained in:
Waldir Leoncio 2020-01-14 12:09:27 +01:00
parent 3bd031515b
commit 4a7c6f6a7a
6 changed files with 50 additions and 17 deletions

View file

@ -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
View 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)
}