[R] Sum(Random Numbers)=100

Daniel Malter daniel at umd.edu
Tue Jul 8 09:13:52 CEST 2008


what you could (what I suggest) is not technically clean because your draw
is not strictly random any more. But if you want to distribute 100 on 50
units with a Poisson-distributed variable x, then your lambda must be
100/50=2. You could then sample Poisson distribution ( rpois(50,2) ), sum
over all 50 values and stop as soon as the sum is exactly 100. This may take
a while though. And again, this is not strictly random as you are discarding
lots of distributions to achieve that. 

Cheers,
Daniel

-------------------------
cuncta stricte discussurus
-------------------------

-----Ursprüngliche Nachricht-----
Von: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] Im
Auftrag von Shubha Vishwanath Karanth
Gesendet: Tuesday, July 08, 2008 2:54 AM
An: m_olshansky at yahoo.com; r-help at stat.math.ethz.ch
Betreff: Re: [R] Sum(Random Numbers)=100

...actually I need to allocate certain amount of money (here I mentioned it
as 100) to a randomly selected stocks(50 stocks)... i.e., 100 being divided
among 50 stocks and preferably all are integer allocations(i.e.,
5 8 56 12 etc without any decimals)...

Thank you,
Shubha
-----Original Message-----
From: Moshe Olshansky [mailto:m_olshansky at yahoo.com]
Sent: Tuesday, July 08, 2008 12:09 PM
To: r-help at stat.math.ethz.ch; Shubha Vishwanath Karanth
Subject: Re: [R] Sum(Random Numbers)=100

If they are really random you can not expect their sum to be 100.
However, it is not difficult to get that given that the sum of n independent
Poisson random variables equals N, any individual one has the conditional
binomial distribution with size = N and p = 1/n, i.e.
P(Xi=k/Sn=N) = (N over k)*(1/n)^k*((n-1)/n)^(N-k).
So you can generate X1 binomial with size = 100 and p = 1/50; if X1 = k1
then the sum of the rest 49 must equal 100 - k1, so now you generate X2
binomial with size = 100-k1 and p = 1/49; if X2 = k2 then generate X3
binomial with size = 100 -(k1+k2) and p = 1/48, etc.

Why do you need this?


--- On Tue, 8/7/08, Shubha Vishwanath Karanth <shubhak at ambaresearch.com>
wrote:

> From: Shubha Vishwanath Karanth <shubhak at ambaresearch.com>
> Subject: [R] Sum(Random Numbers)=100
> To: r-help at stat.math.ethz.ch
> Received: Tuesday, 8 July, 2008, 3:58 PM Hi R,
> 
>  
> 
> I need to generate 50 random numbers (preferably poisson), such that 
> their sum is equal to 100. How do I do this?
> 
>  
> 
>  
> 
> Thank you,
> 
> Shubha
> 
>  
> 
> This e-mail may contain confidential and/or privileged 
> i...{{dropped:13}}
> 
> ______________________________________________
> R-help at r-project.org mailing list
> 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.
This e-mail may contain confidential and/or privileged i...{{dropped:10}}

______________________________________________
R-help at r-project.org mailing list
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.



More information about the R-help mailing list