On Nov 27, 2014, at 12:20, Erich Neuwirth <erich.neuwirth at univie.ac.at> wrote:
You want random numbers within the n-dimensional simplex (sum xi <=1)
The easiest solution of course would be creating n-dimensions vectors
with iid uniform components on [0,1) and throwing away those
violating the inequality.
Since the volume of the n-dimensional simplex is 1/n! (factorial)
this becomes very wasteful even for low dimensions.
A possible answer is to use the Dirichlet distribution from package lca)
since the uniform distribution on the simplex is a special case
of the Dirichlet distribution.
On Nov 27, 2014, at 14:57, Jue Lin-Ye <jl.iccp at gmail.com> wrote:
Hello! I am relatively new using R, but this is my contribution to the
answer. How about using a Monte-Carlo method. Generate m numbers in the
support [0,1], where m>n. Then constrain by constructing a loop that takes
every one of the elements in the m sized vector and select the ones that
sum up to one. If it is very uncommon to sum up to one, given the
distribution that you use to generate the random numbers, you can construct
a loop that generates as many random numbers as you need and then follow
the steps
1.generate
2.select
until you find a total of n number.
Dear all,
I use R 3.1.1 for Windows.
kindly how can I generate n number of random numbers with probability
and their sum must not be more than one
thanks in advance
Ragia
?Best regards,?
--
Jue Lin-Ye
---------------------------------------------------------------
Civil Engineering phD candidate
Maritime Engineering Laboratory (LIM)
Universitat Polit?cnica de Catalunya (UPC)
C/Jordi Girona 1-3, Barcelona 08034 (Spain)
-----------------------------------------------------------------
[[alternative HTML version deleted]]