Re: [R] Numerical Integration in 1D

From: Max <mnevill_at_exitcheck.net>
Date: Fri, 07 Mar 2008 11:14:21 -0800

Prof Brian Ripley formulated on Friday :
> On Fri, 7 Mar 2008, Max wrote:
>
>> Dear UseRs,
>>
>> I'm curious about the derivative of n!.
>>
>> We know that Gamma(n+1)=n! So when on takes the derivative of
>> Gamma(n+1) we get Int(ln(x)*exp(-x)*x^n,x=0..Inf).
>>
>> I've tried code like
>>
>>> integrand<-function(x) {log(x)*exp(x)*x^n}
>>> integrate(integrand,lower=0,upper=Inf)
>>
>> It seems that R doesn't like to integrate for any n, and I was
>> wondering if anyone knew a way around this?
>
> ln(x) e^x x^n is not integrable on (0, Inf). You presumably slipped over
> a minus sign, but your definition of gamma(n) is wrong -- see ?gamma.
>
> integrate(function(x) exp(-x)*x^n, lower=0, upper=Inf)
>
> will work for gamma(n+1).

I did miss a minus sign in the integration, which explains part of my problems. The function of interest is the derivative of Gamma(n+1) with respect to n, but obviously integrated over x from 0 to Infinity.

What happens now is:

> integrand<-function(x) {log(x)*exp(-x)*x^n}
> integrate(integrand,lower=0,upper=Inf)
Error in f(x, ...) : object "n" not found

Any ideas on how to get around this error?



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. Received on Fri 07 Mar 2008 - 19:13:37 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 07 Mar 2008 - 21:30:19 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive