Dear list, I am running into 2 problems when using the optimize function from the stats package (note: I've also tried unsuccessfully to use optim, nlm, & nlminb). The second problem is caused by my solution to the first, so I am asking if anyone has a better solution to the first question, or if there exists a solution to the second problem. I should also mention that what I am working on is a function for a package - so I need the code to be applicable to all platforms (I understand that 'multicore' doesn't really work on Windows, but for the second problem I mean "all platforms, except windows")
The first problem: I have a function that runs a linear mixed model with a constrained variance for one of the random effects, computes a loglikelihood ratio test statistic (LRT), and returns the absolute value of the difference between the LRT and some pre-defined value (e.g., 2). I have made a dummy function, called "foo" below that has the same inputs and outputs without the complicated inner workings of my actual function. My first problem, is that I don't just want to know the end value ("x") that minimizes the output to "foo" (i.e., "diff"), but every "x" and the corresponding "diff" used by the optimize function. My solution to this is to create an object ("vals") outside of "foo" and write to this object. foo <- function(x){ vals <<- c(vals, x) diff <- abs(x - 2) diff } This works well so far: vals <- NULL out1 <- optimize(foo, interval = seq(0, 4, 0.2)) vals However, the second problem arises if I want to use the "parallel" function in the "multicore" package: library(multicore) vals <- NULL out2_tmp <- mcparallel(optimize(foo, interval = seq(0, 4, 0.2))) out2 <- collect(out2_tmp, wait = TRUE) vals Predictably, the child process does not return the "vals" object when I use the "collect" function. To summarize, my first question is whether or not there is a better way to return all of the values over which "optimize" evaluates my function. The second question is if I do use my solution to the first question, how can I get the "vals" object returned from the child process? Thanks anyone very much for any and all help!! Sincerely, Matthew -- Matthew Wolak PhD Candidate Evolution, Ecology, and Organismal Biology Graduate Program University of California Riverside http://student.ucr.edu/~mwola001/ ______________________________________________ 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.