On 01.03.2010 17:09, li li wrote:
Hi all,
I have some problem regarding the integration function. Can any one
take a look at the following and give me some help? Thank you in advance!
Hannah
## f0 is a function of r,x, and y
f0<- function(r, x, y){
pnorm((x-sqrt(r)*y)/sqrt(1-r), mean=0,sd=1, lower.tail=T)^2*dnorm(y)
}
## f1 is the function of r and x after integrating out y
f1<- function(r,x) {integrate(f1(r,x,y), -Inf, Inf)}
I got the follow error message :
f1(0,0)
Error: evaluation nested too deeply: infinite recursion /
options(expressions=)?
Well, I get
Error in f1(r, x, y) : unused argument(s) (y)
hence I guess you made some copy&paste to mail message error as well.
Additionally, where your error comes from: you want t integarte f0
rather than f1 *recursively*?
If this is homework, you should have read your error messages better and
reported you exact code rather than something else, at least.
Note that integrate() expects as first argument "f" a function rather
than a call (or evaluated function).
Hence you probably want (note order of arguments!):
f0 <- function(y, r, x){
pnorm((x - sqrt(r)*y) / sqrt(1-r), mean=0, sd=1, lower.tail=TRUE)^2
* dnorm(y)
}
f1 <- function(r,x) integrate(f0, -Inf, Inf, x=x, r=r)
f1(0,0)
Uwe Ligges
[[alternative HTML version deleted]]
______________________________________________
R-help@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@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.