[R] random numbers with constraints

Denis Francisci den|@@|r@nc|@c| @end|ng |rom gm@||@com
Thu Jan 28 09:07:51 CET 2021


Thanks again for your help,
One digit after the decimal point is enough for my purposes; so, I can
round the qexp function, even if possible errors in floating points are not
a problem.
Thank you very very much,

Denis




Il giorno mer 27 gen 2021 alle ore 20:48 Abby Spurdle <spurdle.a using gmail.com>
ha scritto:

> I note that there's a possibility of floating point errors.
> If all values have one digit after the decimal point, you could replace:
> qexp (p, rate) with round (qexp (p, rate), 1).
>
> However, sometimes uniroot will fail, due to problems with input.
>
> On Thu, Jan 28, 2021 at 5:02 AM Denis Francisci
> <denis.francisci using gmail.com> wrote:
> >
> > Wonderful!
> > This is exactly what I need!
> > Thank you very much!!
> >
> > Denis
> >
> >
> >
> > Il giorno mer 27 gen 2021 alle ore 10:58 Abby Spurdle <
> spurdle.a using gmail.com> ha scritto:
> >>
> >> u <- runif (410)
> >> u <- (u - min (u) ) / diff (range (u) )
> >>
> >> constrained.sample <- function (rate)
> >> {   plim <- pexp (c (9.6, 11.6), rate)
> >>     p <- plim [1] + diff (plim) * u
> >>     qexp (p, rate)
> >> }
> >>
> >> diff.sum <- function (rate)
> >>     sum (constrained.sample (rate) ) - 4200
> >>
> >> rate <- uniroot (diff.sum, c (1, 2) )$root
> >> q <- constrained.sample (rate)
> >>
> >> length (q)
> >> range (q)
> >> sum (q)
> >>
> >>
> >> On Wed, Jan 27, 2021 at 9:03 PM Denis Francisci
> >> <denis.francisci using gmail.com> wrote:
> >> >
> >> > Hi,
> >> > I would like to generate random numbers in R with some constraints:
> >> > - my vector of numbers must contain 410 values;
> >> > - min value must be 9.6 and max value must be 11.6;
> >> > - sum of vector's values must be 4200.
> >> > Is there a way to do this in R?
> >> > And is it possible to generate this series in such a way that it
> follows a
> >> > specific distribution form (for example exponential)?
> >> > Thank you in advance,
> >> >
> >> > D.
> >> >
> >> >         [[alternative HTML version deleted]]
> >> >
> >> > ______________________________________________
> >> > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> >> > https://stat.ethz.ch/mailman/listinfo/r-help
> >> > PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> >> > and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list