From 067656c4033c238d72d17e28158a888ae934ae54 Mon Sep 17 00:00:00 2001 From: Waldir Leoncio Date: Tue, 14 Jan 2020 11:25:16 +0100 Subject: [PATCH] Translated function --- R/laskeMuutokset4.R | 29 +++++++++++++++++++++++++++++ man/laskeMuutokset4.Rd | 25 +++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 R/laskeMuutokset4.R create mode 100644 man/laskeMuutokset4.Rd diff --git a/R/laskeMuutokset4.R b/R/laskeMuutokset4.R new file mode 100644 index 0000000..2d53af6 --- /dev/null +++ b/R/laskeMuutokset4.R @@ -0,0 +1,29 @@ +#' @title laskeMuutokset4 +#' @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. +#' @param osuus osuus +#' @param osuusTaulu osuusTaulu +#' @param omaFreqs omaFreqs +#' @param logml logml +#' @param COUNTS COUNTS +#' +laskeMuutokset4 <- function (osuus, osuusTaulu, omaFreqs, logml, COUNTS) { + npops <- dim(COUNTS)[3] + notEmpty <- osuusTaulu > 0.005 + muutokset <- zeros(npops) + empties <- !notEmpty + + for (i1 in notEmpty) { + osuusTaulu[i1] <- osuusTaulu[i1] - osuus + for (i2 in c(1:(i1 - 1), (i1 + 1):npops)) { + osuusTaulu[i2] <- osuusTaulu[i2] + osuus + loggis <- computeIndLogml(omaFreqs, osuusTaulu) + muutokset[i1, i2] <- loggis - logml + osuusTaulu[i2] <- osuusTaulu[i2] - osuus + } + osuusTaulu[i1] <- osuusTaulu[i1] + osuus + } + return (muutokset) +} \ No newline at end of file diff --git a/man/laskeMuutokset4.Rd b/man/laskeMuutokset4.Rd new file mode 100644 index 0000000..58b9f1f --- /dev/null +++ b/man/laskeMuutokset4.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/laskeMuutokset4.R +\name{laskeMuutokset4} +\alias{laskeMuutokset4} +\title{laskeMuutokset4} +\usage{ +laskeMuutokset4(osuus, osuusTaulu, omaFreqs, logml, COUNTS) +} +\arguments{ +\item{osuus}{osuus} + +\item{osuusTaulu}{osuusTaulu} + +\item{omaFreqs}{omaFreqs} + +\item{logml}{logml} + +\item{COUNTS}{COUNTS} +} +\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. +}