On 2011-06-26 06:34, li li wrote:
Thank you all for the answering. Sorry I did not state the problem clearly. I want to take the integration with respect to mu, not x. For example, f1 should have been a function of x after integrating mu out of f(x, mu) which is the following: f(x, mu)=dnorm(x, mean=mu, sd=1)*dnorm(mu, mean=2, sd=1).
So you probably want something like: h <- function(mu, x) dnorm(x, mu, 1) * dnorm(mu, 2, 1) f1 <- function(x) integrate(function(mu, x) h(mu, x), -Inf, Inf, x)$value In your original formulation (below), all you have to do is change {integrand <- function (x, mu){ to {integrand <- function (mu, x){ Peter Ehlers
Thank you! Hannah f1<- function(x) {integrand <- function (x, mu){ dnorm(x, mean=mu, sd=1)*dnorm(mu, mean=2, sd=1) } integrate(integrand, -Inf, Inf,x)$val } f2<- function(x) {integrand <- function (x, mu){ dnorm(x, mean=mu, sd=1)*mu^2*dnorm(mu, mean=2, sd=1) } integrate(integrand, -Inf, Inf,x)$val } 2011/6/25 Peter Ehlers <ehl...@ucalgary.ca <mailto:ehl...@ucalgary.ca>> On 2011-06-25 08:48, li li wrote: Hi all, Can anyone please take a look at the following two functions. The answer does not seem to be right. Thank you very much! f1<- function(x) {integrand<- function (x, mu){ dnorm(x, mean=mu, sd=1)*dnorm(mu, mean=2, sd=1) } integrate(integrand, -Inf, Inf,x)$val } f2<- function(x) {integrand<- function (x, mu){ dnorm(x, mean=mu, sd=1)*mu^2*dnorm(mu, mean=2, sd=1) } integrate(integrand, -Inf, Inf,x)$val } Your x and mu will get mightily confused. The argument x in f1 is in fact used as the argument mu in integrand() because, as the help page clearly indicates, additional arguments follow the lower/upper limits in integrate(). A cleaner version of what you're doing is the following: f1 <- function(mu){ integrand <- function (x, mu){ dnorm(x, mean=mu, sd=1) * dnorm(mu, mean=2, sd=1) } integrate(integrand, -Inf, Inf, mu)[["value"]] } But then again, you could just evaluate dnorm(mu, 2, 1). So I suspect that you want something different. Ditto for f2. Peter Ehlers [[alternative HTML version deleted]] ________________________________________________ R-help@r-project.org <mailto:R-help@r-project.org> mailing list https://stat.ethz.ch/mailman/__listinfo/r-help <https://stat.ethz.ch/mailman/listinfo/r-help> PLEASE do read the posting guide http://www.R-project.org/__posting-guide.html <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.