Ricerca…


Sintassi

  1. << codice-interno-nome-pezzo, opzioni ... >> =
    # Codice R qui
    @
  2. \ Sexpr {#R Code Here}
  3. << read-external-R-file >> =
    read_chunk ( 'r-file.R')
    @

    << codice-esterno-nome-pezzo, opzioni ... >> =
    @

Parametri

Opzione Dettagli
eco (VERO / FALSO) - se includere il codice sorgente R nel file di output
Messaggio (VERO / FALSO) - se includere i messaggi dall'esecuzione della sorgente R nel file di output
avvertimento (VERO / FALSO) - se includere gli avvertimenti dall'esecuzione della sorgente R nel file di output
errore (VERO / FALSO) - se includere errori dall'esecuzione della sorgente R nel file di output
nascondiglio (VERO / FALSO) - se memorizzare nella cache i risultati dell'esecuzione della sorgente R.
fig.width (numerico) - larghezza del grafico generato dall'esecuzione della sorgente R.
fig.height (numerico) - altezza del grafico generato dall'esecuzione della sorgente R.

Osservazioni

Knitr è uno strumento che ci consente di intrecciare il linguaggio naturale (sotto forma di LaTeX) e il codice sorgente (nella forma di R). In generale, il concetto di intercalare il linguaggio naturale e il codice sorgente è chiamato programmazione alfabetica . Poiché i file knitr contengono una miscela di LaTeX (tradizionalmente contenuto in file .tex) e R (tradizionalmente contenuto nei file .R) è necessaria una nuova estensione di file chiamata R noweb (.Rnw). I file .Rnw contengono una combinazione di LaTeX e R code.

Knitr consente la generazione di report statistici in formato PDF ed è uno strumento chiave per ottenere ricerche riproducibili .

Compilare i file .Rnw in un PDF è un processo in due fasi. Per prima cosa, dobbiamo sapere come eseguire il codice R e catturare l'output in un formato che un compilatore LaTeX può comprendere (un processo chiamato "kniting"). Lo facciamo usando il pacchetto knitr. Il comando per questo è mostrato di seguito, assumendo che tu abbia installato il pacchetto knitr :

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

Questo genererà un normale file .tex (chiamato r-noweb.tex in questo esempio) che può essere trasformato in un file PDF usando:

pdflatex r-noweb-file.tex

R in lattice con Knitr e codice di esternalizzazione

Knitr è un pacchetto R che ci consente di mescolare il codice R con il codice LaTeX. Un modo per ottenere questo è pezzi di codice esterno. I blocchi di codice esterno consentono di sviluppare / testare gli script R in un ambiente di sviluppo R e quindi includere i risultati in un report. È una potente tecnica organizzativa. Questo approccio è dimostrato di seguito.

# 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}

Quando utilizziamo questo approccio manteniamo il nostro codice in un file R separato come mostrato di seguito.

## 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 in lattice con pezzi di codice Knitr e Inline

Knitr è un pacchetto R che ci consente di mescolare il codice R con il codice LaTeX. Un modo per ottenere questo è blocchi di codice in linea. Questo apporach è dimostrato sotto.

# 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 in LaTex con Knitr e Chunks di codice interno

Knitr è un pacchetto R che ci consente di mescolare il codice R con il codice LaTeX. Un modo per ottenere questo è pezzi di codice interno. Questo apporach è dimostrato sotto.

# 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow