[R] using integrate with optimize nested in the integration

Huntsinger, Reid reid_huntsinger at merck.com
Thu Jul 28 22:20:34 CEST 2005


In your example, f is a function, but
optimize(f,c(0,15),maximum=TRUE)$maximum is just a number (the point at
which f reaches its maximum value). I'm not sure what you want, but if you
had say

f <- function(x,y) x^3 + yx + 1

and defined

g <- function(y) optimize(f,c(0,5),maximum=TRUE,y)$maximum

then g(t) is the x-value at which the function f(x,t) (over x in (0,5))
reaches its maximum for this fixed t. That could then be integrated. 

Reid Huntsinger

-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Gregory Gentlemen
Sent: Thursday, July 28, 2005 3:58 PM
To: r-help at stat.math.ethz.ch
Subject: [R] using integrate with optimize nested in the integration


Hi guys
im having a problem getting R to numerically integrate for some function, 
say f(bhat)*optimize(G(bhat)), over bhat. Where id like to integrate this
over some finite range, so that here as we integrate over bhat optimize
would return a different optimum.
 
For instance consider this simple example for which I cannot get R to return
the desired result:
 
f <- function(bhat) exp(bhat)
g <- function(bhat) optimize(f,c(0,15),maximum=TRUE)$maximum*bhat
integrate(g,lower=0,upper=5)
which returns:
187.499393759 with absolute error < 2.1e-12

However this is an approximation of : 15*(5^2/2 - 0)=187.5, not what I
intended on getting. Its not identifying that f is a function of bhat ...
any advice or ways I can get integrate to not treat this as a constant?

Any help is appreciated.
 
Gregoy Gentlemen

__________________________________________________



	[[alternative HTML version deleted]]

______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html




More information about the R-help mailing list