From c72d2b6896c05dd9f8b55dad0252060ee15cf76f Mon Sep 17 00:00:00 2001 From: Waldir Leoncio Date: Tue, 14 Jan 2020 13:06:36 +0100 Subject: [PATCH] Translated function into R --- R/admix1.R | 20 +------------------- R/etsiParas.R | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 19 deletions(-) create mode 100644 R/etsiParas.R diff --git a/R/admix1.R b/R/admix1.R index a7e9b9b..2d5c52e 100644 --- a/R/admix1.R +++ b/R/admix1.R @@ -536,22 +536,4 @@ admix1 <- function(tietue) { # i2 = ceil(indeksi / npops); # osuusTaulu(i1) = osuusTaulu(i1)-osuus; -# osuusTaulu(i2) = osuusTaulu(i2)+osuus; - - -# %------------------------------------------------------------------------- - - -# function [osuusTaulu, logml] = etsiParas(osuus, osuusTaulu, omaFreqs, logml) - -# ready = 0; -# while ready ~= 1 -# muutokset = laskeMuutokset4(osuus, osuusTaulu, omaFreqs, logml); -# [maxMuutos, indeksi] = max(muutokset(1:end)); -# if maxMuutos>0 -# osuusTaulu = suoritaMuutos(osuusTaulu, osuus, indeksi); -# logml = logml + maxMuutos; -# else -# ready = 1; -# end -# end \ No newline at end of file +# osuusTaulu(i2) = osuusTaulu(i2)+osuus; \ No newline at end of file diff --git a/R/etsiParas.R b/R/etsiParas.R new file mode 100644 index 0000000..22eda5e --- /dev/null +++ b/R/etsiParas.R @@ -0,0 +1,14 @@ +etsiParas <- function = (osuus, osuusTaulu, omaFreqs, logml) { + ready <- 0; + while (ready != 1) { + muutokset <- laskeMuutokset4(osuus, osuusTaulu, omaFreqs, logml) + [maxMuutos, indeksi] = max(muutokset[1:end]) # TODO: how does this work on Matlab? + if (maxMuutos > 0) { + osuusTaulu <- suoritaMuutos(osuusTaulu, osuus, indeksi) + logml <- logml + maxMuutos + } else { + ready <- 1 + } + } + return (c(osuusTaulu, logml)) +} \ No newline at end of file