Buscar..


Sintaxis

  1. << internal-code-chunk-name, opciones ... >> =
    Código # R aquí
    @
  2. \ Sexpr {#R Code Here}
  3. << read-external-R-file >> =
    read_chunk ('r-file.R')
    @

    << external-code-chunk-name, opciones ... >> =
    @

Parámetros

Opción Detalles
eco (VERDADERO / FALSO): si se debe incluir el código fuente R en el archivo de salida
mensaje (VERDADERO / FALSO): si se incluyen los mensajes de la ejecución de la fuente R en el archivo de salida
advertencia (VERDADERO / FALSO): si se incluyen advertencias de la ejecución de la fuente R en el archivo de salida
error (VERDADERO / FALSO): si se incluyen los errores de la ejecución de la fuente R en el archivo de salida
cache (VERDADERO / FALSO): si se deben almacenar en caché los resultados de la ejecución de la fuente R
ancho de higo (numérico): ancho del gráfico generado por la ejecución de la fuente R
higo. (numérico) - altura del gráfico generado por la ejecución de la fuente R

Observaciones

Knitr es una herramienta que nos permite entrelazar el lenguaje natural (en forma de LaTeX) y el código fuente (en forma de R). En general, el concepto de intercalar el lenguaje natural y el código fuente se denomina programación alfabetizada . Dado que los archivos knitr contienen una mezcla de LaTeX (tradicionalmente alojados en archivos .tex) y R (tradicionalmente alojados en archivos .R), se requiere una nueva extensión de archivo llamada R noweb (.Rnw). Los archivos .Rnw contienen una mezcla de código LaTeX y R

Knitr permite la generación de informes estadísticos en formato PDF y es una herramienta clave para lograr investigaciones reproducibles .

La compilación de archivos .Rnw en un PDF es un proceso de dos pasos. Primero, necesitamos saber cómo ejecutar el código R y capturar la salida en un formato que pueda comprender un compilador LaTeX (un proceso llamado 'kniting'). Hacemos esto usando el paquete knitr. El comando para esto se muestra a continuación, asumiendo que ha instalado el paquete knitr :

Rscript -e "library(knitr); knit('r-noweb-file.Rnw')

Esto generará un archivo .tex normal (llamado r-noweb.tex en este ejemplo) que luego se puede convertir en un archivo PDF usando:

pdflatex r-noweb-file.tex

R en látex con Knitr y externalización de código

Knitr es un paquete R que nos permite mezclar el código R con el código LaTeX. Una forma de lograr esto es trozos de código externo. Los fragmentos de código externo nos permiten desarrollar / probar scripts R en un entorno de desarrollo R y luego incluir los resultados en un informe. Es una poderosa técnica organizativa. Este enfoque se demuestra a continuación.

# r-noweb-file.Rnw
\documentclass{article}
 
 <<echo=FALSE,cache=FALSE>>=
 knitr::opts_chunk$set(echo=FALSE,  cache=TRUE)
 knitr::read_chunk('r-file.R')
 @
 
\begin{document}
This is an Rnw file (R noweb).  It contains a combination of LateX and R.
 
One we have called the read\_chunk command above we can reference sections of code in the r-file.R script.

<<Chunk1>>=
@
\end{document}

Al utilizar este enfoque, mantenemos nuestro código en un archivo R separado, como se muestra a continuación.

## r-file.R
## note the specific comment style of a single pound sign followed by four dashes

# ---- Chunk1 ----

print("This is R Code in an external file")

x <- seq(1:10)
y <- rev(seq(1:10))
plot(x,y)

R en látex con Knitr y trozos de código en línea

Knitr es un paquete R que nos permite mezclar el código R con el código LaTeX. Una forma de lograr esto es trozos de código en línea. Este apporach se muestra a continuación.

# r-noweb-file.Rnw
\documentclass{article}     
\begin{document}
This is an Rnw file (R noweb).  It contains a combination of LateX and R.

<<my-label>>=
print("This is an R Code Chunk")
x <- seq(1:10)
@

Above is an internal code chunk.
We can access data created in any code chunk inline with our LaTeX code like this.
The length of array x is \Sexpr{length(x)}.

\end{document}

R en LaTex con Knitr y fragmentos de código interno

Knitr es un paquete R que nos permite mezclar el código R con el código LaTeX. Una forma de lograr esto es trozos de código interno. Este apporach se muestra a continuación.

# r-noweb-file.Rnw
\documentclass{article}    
\begin{document}
This is an Rnw file (R noweb).  It contains a combination of LateX and R.

<<code-chunk-label>>=
print("This is an R Code Chunk")
x <- seq(1:10)
y <- seq(1:10)
plot(x,y)  # Brownian motion
@

\end{document}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow