[R] rgamma function

Chandler Zuo zuo at stat.wisc.edu
Mon Jul 16 21:49:24 CEST 2012

Sorry that I posted the wrong syntax. My initial program is very long 
and I tried to post the section where I have been narrowed to locate the 

In this sample I am simulating a Gamma with size parameter 5000 and 
scale parameter 1.

I plugged in many breaks in my initial program and what I found was that 
most of the time the program stops when encountering a call to rgamma() 
function. It just freezes without popping out any error.


SEXP generateGamma ()
     SEXP a;
     return (a);

Thanks for your suggestions!

On 07/15/12 07:07, peter dalgaard wrote:
> On Jul 14, 2012, at 04:55 , Chandler Zuo wrote:
>> Hi,
>> Has anyone encountered the problem of rgamma function in C? The following simplified program always dies for me, and I wonder if anyone can tell me the reason.
>> #include<Rmath.h>
>> #include<time.h>
>> #include<Rinternals.h>
>> SEXP generateGamma ()
>> {
>>     srand(time(NULL));
>>     return (rgamma(5000,1));
>> }
>> Has anyone encountered a similar problem before? Is there another way of generating Gamma random variable in C?
>> P.S. I have no problem compiling and loading this function in R.
> It doesn't even give off a warning??
> The prototype in Rmath.h is
> double  rgamma(double, double);
> and you should be returning an SEXP. As soon as something tries to interpret the double value as a pointer -- Poof!
> Notice that rgamma in C is not the same function as the R counterpart, in particular it isn't vectorized, so only generates one random number at a time. The long and the short of it is that you need to read up on sections 5.9 and 5.10 of Writing R Extensions.
>> Thanks for suggestions in advance!
>> --Chandler
>> ______________________________________________
>> 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