From c508e49edb49dc0cdbcda385a205c0b7570a27e0 Mon Sep 17 00:00:00 2001 From: Waldir Leoncio Date: Tue, 17 Dec 2019 15:52:59 +0100 Subject: [PATCH] Added randdir --- NAMESPACE | 2 +- R/admix1.R | 13 +------------ R/randdir.R | 15 +++++++++++++++ man/randdir.Rd | 25 +++++++++++++++++++++++++ 4 files changed, 42 insertions(+), 13 deletions(-) create mode 100644 R/randdir.R create mode 100644 man/randdir.Rd diff --git a/NAMESPACE b/NAMESPACE index d49a2b7..100f28c 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -5,6 +5,6 @@ export(calculatePopLogml) export(computeRows) export(learn_simple_partition) export(ownNum2Str) -export(randga) +export(randdir) export(repmat) importFrom(stats,runif) diff --git a/R/admix1.R b/R/admix1.R index e302f4f..3c0eef9 100644 --- a/R/admix1.R +++ b/R/admix1.R @@ -693,15 +693,4 @@ admix1 <- function(tietue) { # else # str = ['0.' num2str(prob)]; # end; -# end; - -# %------------------------------------------------- - -# function svar=randdir(counts,nc) -# % Käyttöesim randdir([10;30;60],3) - -# svar=zeros(nc,1); -# for i=1:nc -# svar(i,1)=randga(counts(i,1),1); -# end -# svar=svar/sum(svar); \ No newline at end of file +# end; \ No newline at end of file diff --git a/R/randdir.R b/R/randdir.R new file mode 100644 index 0000000..4164e9b --- /dev/null +++ b/R/randdir.R @@ -0,0 +1,15 @@ +#' @title Generates random numbers +#' @return vector of length `nc` with r.v. realizations from Gamma(rate=1) +#' @examples randdir(matrix(c(10, 30, 60), 3), 3) +#' @param counts shape parameter +#' @param nc number of rows on output +#' @seealso randga +#' @export +randdir <- function (counts, nc) { + svar <- zeros(nc, 1) + for (i in 1:nc) { + svar[i, 1] = randga(counts[i, 1], 1) + } + svar <- svar / sum(svar) + return(svar) +} \ No newline at end of file diff --git a/man/randdir.Rd b/man/randdir.Rd new file mode 100644 index 0000000..15489e5 --- /dev/null +++ b/man/randdir.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/randdir.R +\name{randdir} +\alias{randdir} +\title{Generates random numbers} +\usage{ +randdir(counts, nc) +} +\arguments{ +\item{counts}{shape parameter} + +\item{nc}{number of rows on output} +} +\value{ +vector of length `nc` with r.v. realizations from Gamma(rate=1) +} +\description{ +Generates random numbers +} +\examples{ +randdir(matrix(c(10, 30, 60), 3), 3) +} +\seealso{ +randga +}