2010-10-21 8 views
6

Estoy obteniendo resultados extraños en mi archivo .tex que no puedo suprimir con <> o sink(). Notablemente, las líneas no deseadas no están encerradas por .. {Schunk} o similar.¿cómo puedo suprimir la salida de Sweave que no está suprimida por echo = FALSE?

Esto ocurre para mí cuando uso DEoptim o rjags, aunque esto probablemente no se limite a estas funciones.

ejemplo archivo .Rnw:

\documentclass[a4paper, 12]{article} 
begin{document} 

<<echo=FALSE>>= 
require(DEoptim) 
Rosenbrock <- function(x){ #example from DEoptim authors 
    x1 <- x[1] 
    x2 <- x[2] 
    100 * (x2 - x1 * x1)^2 + (1 - x1)^2 
} 
lower <- c(-10,-10) 
upper <- -lower 
set.seed(1234) 
DEoptim(Rosenbrock, lower, upper) 

@ 

\end{document} 

Lo que quiero que suceda El resultado que me gustaría es el archivo tex que se produciría si la salida fueron suprimidos, o equivalentemente, si el trozo de código se elimina del archivo .Rnw:

\documentclass[a4paper, 12]{article} 
\usepackage{Sweave} 
\begin{document} 

\end{document} 

Qué sucede Sin embargo, el archivo resultante tiene .tex salida de la función:

\documentclass[a4paper, 12]{article} 
\usepackage{Sweave} 
\begin{document} 

Iteration: 1 bestvalit: 132.371451 bestmemit: -1.851683 4.543355 
Iteration: 2 bestvalit: 8.620563 bestmemit: -1.854371 3.369908 
....few hundred lines of DEoptim output .... 
$member$storepop 
list() 


attr(,"class") 
[1] "DEoptim" 
\end{document} 

Tenga en cuenta que la salida no está encerrado por \ begin {Schunk} \ end {} Schunk, por lo que los signos $ confundir LaTeX y ganó' t compilar.

Respuesta

6

La salida proviene de la llamada a una función compilada (C o Fortran) en DEoptim.

Esto produce una salida limpia:

\documentclass[a4paper, 12]{article} 
\begin{document} 

\section{Computation in R} 

<<computation,results=hide>>= 
require(DEoptim) 
Rosenbrock <- function(x){ 
    x1 <- x[1] 
    x2 <- x[2] 
    100 * (x2 - x1 * x1)^2 + (1 - x1)^2 
} 
lower &lt;- c(-10,-10) 
upper &lt;- -lower 
set.seed(1234) 
res &lt;- DEoptim(Rosenbrock, lower, upper) 

@ 
\section{Results} 

<<results>>= 
res$optim 


@ 
\end{document} 
+0

Hola Henrik, eliminé los resultados = tex del fragmento de código. Lo uso en el documento real para usar con xtable(), pero eliminé la tabla del ejemplo. El resultado es el mismo con o sin él. –

+0

He agregado un ejemplo de lo que me gustaría ver: todo el resultado de ejecutar el código suprimido. En el caso de rjags, el resultado es cinco páginas de informes de progreso. –

7

¿Ha intentado

<<echo=FALSE, results=hide>> 

?

+0

¡Eso lo hizo! Gracias. –

Cuestiones relacionadas