# [R] Sum(Random Numbers)=100

Hanke, Alex HankeA at mar.dfo-mpo.gc.ca
Tue Jul 8 14:19:49 CEST 2008

Hi Peng,
Does this help?
sum(diff(c(0,sort(sample(seq(1,99,1),50,replace=T)),100)))
Regards
Alex

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Peng Jiang
Sent: July 8, 2008 3:57 AM
To: m_olshansky at yahoo.com
Cc: r-help at stat.math.ethz.ch
Subject: Re: [R] Sum(Random Numbers)=100

Hi,
I am afraid there is no other way except using brute force, that is , loop until their sum reaches your expectation.
it is easy to figure out this probability by letting their sum to be a new random variable Z and Z = X_1 + \ldots + X_n
where X_i ~ Poisson({\lambda}_i) . By calculating their moment generate function we can find the pmf of Z which is a new Poisson random variable with the parameter \sum_{i}{{\lambda}_i}.

and Moshe Olshansky's method  is also correct except it is based on the conditioning.
On 2008-7-8, at 下午1:58, Shubha Vishwanath Karanth wrote:
On 2008-7-8, at 下午2:39, Moshe Olshansky wrote:

> 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.
>
> ______________________________________________
> 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.

-----------------------------------------------
Peng Jiang 江鹏 ,Ph.D. Candidate
Antai College of Economics & Management

Department of Mathematics

Shanghai Jiaotong University (Minhang Campus)
200240 Shanghai
P. R. China

______________________________________________
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.