I am trying to write a lesson on maximum likelihood with Sweave. I get a surprising result with the following code, lec4.Snw:
\documentclass[a4paper,12pt]{article} \usepackage[latin1]{inputenc} \title{Maximum likelihood} \author{Göran Broström} \begin{document} \maketitle <<fig=TRUE>>= ## Simulate Y: n <- 25 Y <- sum(rpois(n, lambda = 1)) Y ## Define minusloglik: minusloglik <- function(theta) n * theta - Y * log(theta) curve(minusloglik, 0.2, 2, xlab = "theta") library(stats4) cat("Y is now ", Y, "\n") fit <- mle(minusloglik, start = list(theta = Y/n)) summary(fit) @ \end{document} In R, I get: > Sweave("lec4.Snw") Writing to file lec4.tex Processing code chunks ... 1 : echo term verbatim eps pdf Y is now 27 Y is now 24 You can now run LaTeX on 'lec4.tex' > and the latex document will have two different mle's, one in the figure, and another one from 'mle'. One uses Y = 27 and the other Y = 24! I can save the situation by moving "Y <- ..." to a separaye "code chunk". Does 'fig=TRUE' imply that the code chunk is run twice? -- Göran Broström ______________________________________________ R-help@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