On 9/4/2008 10:54 AM, Jinsong Zhao wrote:
Hi there,

When I do bootstrap on a maximum likelihood estimation, I try the
following code, however, I get error:

Error in minuslogl(alpha = 0, beta = 0) : object "x" not found

It seems that mle() only get data from workspace, other than the
boot.fun().

This is the way R does scoping. Your ll function was defined in the global environment, so that's where it will look for x, n and r. If you want it to look at the local variables in boot.fun, then you should define it in boot.fun.

Duncan Murdoch

My question is how to pass the data to mle() in my case.

I really appreciated to any suggestions.

Best wishes,
Jinsong

#-----------code start here---------------
x <- c(32, 16, 8, 4, 2, 1)
r <- c(20, 12, 10, 8, 6, 0)
n <- c(20, 20, 20, 20, 20, 20)

mydata <- data.frame(x = x, r = r, n = n)
rm(x, r, n) #if not rmed, it will affect the final result.


ll <- function(alpha, beta) { #how to pass the data to this function?
  x <- log10(x)
  P <- pnorm(alpha + beta * x)
  P <- pmax(pmin(P,1),0)
  -(sum(r * log(P)) + sum((n - r)* log(1-P)))
}

boot.fun <- function(data, index) {
    boot.data <- data[index, ]
    # it seems that the following three line dose nothing with the mle()
    x <- boot.data$x
    r <- boot.data$r
    n <- boot.data$n
    fit <- mle(ll, start = list(alpha = 0, beta = 0), method = "BFGS")
    boot.coef <- coef(fit)
    stats <- -boot.coef[1] / boot.coef[2]
}

library(stats4)
library(boot)

myboot <- boot(mydata, boot.fun, R = 199)
# give the error message:
# Error in minuslogl(alpha = 0, beta = 0) : object "x" not found
#-----------code end here---------------

______________________________________________
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.

Reply via email to