[R] Sweave, mle and curve

From: Göran Broström <goran.brostrom_at_gmail.com>
Date: Mon 13 Feb 2006 - 21:16:14 EST


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
Received on Mon Feb 13 21:20:11 2006

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:42:29 EST