Zoeken…


Syntaxis

  1. << interne code-chunk-naam, opties ... >> =
    # R-code hier
    @
  2. \ Sexpr {#R Code Here}
  3. << read-external-R-file >> =
    read_chunk ( 'r-file.R)
    @

    << externe code-chunk-naam, opties ... >> =
    @

parameters

Optie Details
echo (WAAR / ONWAAR) - of R-broncode in het uitvoerbestand moet worden opgenomen
bericht (WAAR / ONWAAR) - of berichten van de uitvoering van de R-bron in het uitvoerbestand moeten worden opgenomen
waarschuwing (WAAR / ONWAAR) - of waarschuwingen van de uitvoering van de R-bron in het uitvoerbestand moeten worden opgenomen
fout (TRUE / FALSE) - of fouten uit de uitvoering van de R-bron in het uitvoerbestand moeten worden opgenomen
cache (TRUE / FALSE) - of de resultaten van de uitvoering van de R-bron in de cache moeten worden opgeslagen
fig.width (numeriek) - breedte van de plot gegenereerd door de uitvoering van de R-bron
fig.height (numeriek) - hoogte van de plot gegenereerd door de uitvoering van de R-bron

Opmerkingen

Knitr is een hulpmiddel waarmee we natuurlijke taal (in de vorm van LaTeX) en broncode (in de vorm van R) kunnen verweven. Over het algemeen wordt het concept van het doorkruisen van natuurlijke taal en broncode geletterd programmeren genoemd . Omdat knitr-bestanden een combinatie van LaTeX (traditioneel ondergebracht in .tex-bestanden) en R (traditioneel ondergebracht in .R-bestanden) bevatten, is een nieuwe bestandsextensie genaamd R noweb (.Rnw) vereist. .Rnw-bestanden bevatten een combinatie van LaTeX en R-code.

Knitr maakt het genereren van statistische rapporten in PDF-formaat mogelijk en is een belangrijk hulpmiddel voor het verkrijgen van reproduceerbaar onderzoek .

Het compileren van .Rnw-bestanden naar een PDF is een proces in twee stappen. Eerst moeten we weten hoe we de R-code moeten uitvoeren en de uitvoer moeten vastleggen in een formaat dat een LaTeX-compiler kan begrijpen (een proces dat 'kniting' wordt genoemd). We doen dit met behulp van het knitr-pakket. De opdracht hiervoor wordt hieronder weergegeven, ervan uitgaande dat u het knitr-pakket hebt geïnstalleerd :

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

Dit genereert een normaal .tex-bestand (in dit voorbeeld r-noweb.tex genoemd) dat vervolgens in een PDF-bestand kan worden omgezet met:

pdflatex r-noweb-file.tex

R in latex met Knitr en code-externalisatie

Knitr is een R-pakket waarmee we R-code kunnen combineren met LaTeX-code. Een manier om dit te bereiken is externe codebrokken. Met externe codebrokken kunnen we R-scripts ontwikkelen / testen in een R-ontwikkelomgeving en de resultaten vervolgens opnemen in een rapport. Het is een krachtige organisatorische techniek. Deze benadering wordt hieronder getoond.

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

Wanneer we deze aanpak gebruiken, bewaren we onze code in een apart R-bestand zoals hieronder wordt getoond.

## 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 latex met Knitr en Inline Code Chunks

Knitr is een R-pakket waarmee we R-code kunnen combineren met LaTeX-code. Een manier om dit te bereiken is inline code-chunks. Deze aanpak wordt hieronder getoond.

# 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 met Knitr en interne code Chunks

Knitr is een R-pakket waarmee we R-code kunnen combineren met LaTeX-code. Een manier om dit te bereiken is interne codebrokken. Deze aanpak wordt hieronder getoond.

# 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow