From: G??ran Brostr??m <goran.brostrom at gmail.com>
To: r-help at stat.math.ethz.ch
Date: Mon, 13 Feb 2006 11:16:14 +0100
Subject: [R] Sweave, mle and curve
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:
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