> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/texlive/nl/vaardigheden/r-code-knitr.md).

# R-code (knitr)

Overleaf biedt een integratie met **knitr**, waarmee u R-code aan uw LaTeX-document kunt toevoegen om dynamische uitvoer te genereren.

Documenten die R-code bevatten, moeten worden opgeslagen met de extensie `.Rtex` of `.Rnw`, anders werkt de code niet. Laten we een voorbeeld bekijken:

{% code overflow="wrap" %}

```latex
\documentclass{article}
\begin{document}

U kunt R-opdrachten typen in uw \LaTeX{}-document; deze worden verwerkt en hun uitvoer wordt opgenomen in het document:

<<>>=
# Maak een reeks getallen
X = 2:10

# Geef basisstatistische maten weer
summary(X)

@
\end{document}
```

{% endcode %}

![KnitrDemo1.png](https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2F4rB1ItV9jgLU4dT6o3Hf%2FKnitrDemo1.png?alt=media\&token=5b2d4df8-8de9-4bdd-be61-0a3992026edf)

[Open dit `knitr` voorbeeld op Overleaf](https://www.overleaf.com/project/new/template/20421?id=69881107\&templateName=Knitr+demo+1\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Zoals u kunt zien, is de tekst tussen de tekens `<<>>=` en `@` R-code. Deze code en de uitvoer ervan worden afgedrukt in een lijstachtige opmaak. Deze codechunk kan enkele extra parameters krijgen om de dynamische uitvoer aan te passen, zoals beschreven in de volgende sectie.

### Codechunks

Een codeblok zoals dat in de vorige sectie is gepresenteerd, wordt meestal een *chunk*. U kunt enkele extra opties instellen in knitr-chunks. Bekijk het voorbeeld hieronder:

{% code overflow="wrap" %}

```latex
\documentclass{article}
\begin{document}

U kunt R-opdrachten typen in uw \LaTeX{}-document; deze worden verwerkt en hun uitvoer wordt opgenomen in het document:

<<echo=FALSE, cache=TRUE>>=
# Maak een reeks getallen
X = 2:10

# Geef basisstatistische maten weer
summary(X)

@
\end{document}
```

{% endcode %}

![KnitrDemo2.png](https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FHtobrK1TjY4SG4ax2BH5%2FScreenshot%202025-12-16%20143420.png?alt=media\&token=50675660-f20f-44d3-be60-fb91b8dbd255)

[Open dit `knitr` voorbeeld op Overleaf](https://www.overleaf.com/project/new/template/20423?id=69885763\&templateName=Knitr+demo+2\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Er worden twee extra opties doorgegeven binnen `<<` en `>>`.

* `echo=FALSE`Hiermee wordt de code verborgen en wordt alleen de door R gegenereerde uitvoer afgedrukt.
* `cache=TRUE`Als cache op true is ingesteld, wordt de chunk niet uitgevoerd, alleen de objecten die ermee zijn gegenereerd. Dit bespaart tijd als de gegevens in die chunk niet zijn gewijzigd.

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><em>Let op: de optie cache=TRUE wordt momenteel niet ondersteund in Overleaf, maar zou lokaal moeten werken.</em></p></div>

Zie de [naslaggids](https://learn.overleaf.com/learn/Knitr#Reference_guide) voor meer opties.

### Inline-opdrachten

Het is mogelijk om toegang te krijgen tot objecten die in een chunk zijn gegenereerd en ze inline af te drukken.

{% code overflow="wrap" %}

```latex
\documentclass{article}
\begin{document}

U kunt R-opdrachten typen in uw \LaTeX{}-document; deze worden verwerkt en hun uitvoer wordt opgenomen in het document:

<<echo=FALSE, cache=TRUE>>=
# Maak een reeks getallen
X = 2:10

# Geef basisstatistische maten weer
summary(X)

@

Dus het gemiddelde van de gegevens is $\Sexpr{mean(X)}$
\end{document}
```

{% endcode %}

![KnitrDemo3.png](https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2Fbyz9VKDCCPcoWHbznSJ4%2FScreenshot%202025-12-16%20143647.png?alt=media\&token=9d5ef4de-f413-4bf2-83c8-bf2171f50dee)

[Open dit `knitr` voorbeeld op Overleaf](https://www.overleaf.com/project/new/template/20425?id=69886866\&templateName=Knitr+demo+3\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

De opdracht `\Sexpr{mean(X)}` drukt de uitvoer af die wordt geretourneerd door de R-code `mean(X)`. Binnen de accolades kan elke R-opdracht worden doorgegeven.

### Grafieken

Grafieken kunnen ook aan een knitr-document worden toegevoegd, zoals in dit voorbeeld:

{% code overflow="wrap" %}

```latex
\documentclass{article}
\begin{document}

<<plot1, fig.pos="t", fig.height=4, fig.width=4, fig.cap="First plot">>=

xdata = read.csv(file="data.txt", head=TRUE,sep=" ")

hist(xdata$data, main="Overleaf histogram", xlab="Data")

@

De figuur \ref{fig:plot1} is een eenvoudig histogram.

\end{document}
```

{% endcode %}

![KnitrDemo4.png](https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2F5NI4NOJICjnYf8Z2Me1b%2FScreenshot%202025-12-16%20143811.png?alt=media\&token=d937786f-da22-4cbd-9adf-f277ec9f77c4)

[Open dit `knitr` voorbeeld op Overleaf](https://www.overleaf.com/project/new/template/20427?id=69890965\&templateName=Knitr+demo+3\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Dit histogram gebruikt gegevens die zijn opgeslagen in "data.txt", in de huidige werkmap. Er worden enkele op de figuur betrekking hebbende opties doorgegeven aan de chunk.

`plot1`Dit is het label dat wordt gebruikt om naar de grafiek te verwijzen. Het voorvoegsel "fig:" is verplicht. In het voorbeeld kunt u zien dat naar de figuur wordt verwezen met `\ref{fig:plot1}`.`fig.pos="t"` plaatsingsparameter. Dit is dezelfde als die wordt gebruikt in [de figuuromgeving](https://learn.overleaf.com/learn/Positioning_images_and_tables#The_figure_environment).`fig.height=4, fig.width=4`Breedte en hoogte van de figuur.`fig.cap="First plot"`Bijschrift voor de figuur.

### Externe R-scripts

U kunt delen van een extern R-script importeren in een knitr-document. Dit is erg handig, omdat het vrij gebruikelijk is om het script eerst in een extern programma te schrijven en te debuggen voordat u het aan uw document toevoegt.

Stel dat we de volgende R-code hebben in een bestand met de naam `mycode.R` dat we opnemen in ons LaTeX-document:

```r
## ---- myrcode1
# Maak een reeks getallen
 X = 2:10

## ---- myrcode2
# Geef basisstatistische maten weer
summary(X)
```

Let op de regels:

```r
## ---- myrcode1
```

en

```r
## ---- myrcode2
```

Deze markeren het begin van een codechunk en zijn verplicht als u dit script in ons document wilt gebruiken, zoals wordt getoond in het volgende codefragment:

```r
De onderstaande chunk wordt niet afgedrukt

<<echo=FALSE, cache=FALSE>>=
read_chunk("mycode.R")
@

De code moet hier verschijnen

<<myrcode2>>=

@
```

![KnitrDemo5.png](https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FPzKSGsFTMdhs9K8dE8Ny%2FKnitrDemo5.png?alt=media\&token=9c32c381-7621-4b7d-9d73-c1e7a0b6aac8)

De eerste chunk wordt niet afgedrukt en wordt alleen gebruikt om het script te importeren met de opdracht `read_chunk("mycode.R")` . Daarom is de optie `echo=FALSE` is ingesteld. Ook mogen scripts niet worden gecachet. Zodra het script is geïmporteerd, kunt u een chunk afdrukken met het label dat u instelt na `## ----`. In dit geval is dat `myrcode2`.

We hebben alle codefragmenten van het artikel in een project geplaatst dat [u op Overleaf kunt openen](https://www.overleaf.com/project/new/template/20429?id=69894649\&templateName=Knitr+full+demo\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=) .

### Naslaggids

Enkele chunkopties:

* `resultaten`. Wijzigt het gedrag van de resultaten die door de R-code worden gegenereerd. Mogelijke waarden zijn:
  * `markup` Gebruik LaTeX om de uitvoer op te maken.
  * `asis` Druk de onbewerkte resultaten van R af.
  * `hold` Houd de uitvoerresultaten vast en verplaats ze naar het einde van de chunk.
  * `hide` Verberg de resultaten.
* `echo`. Of de R-broncode moet worden opgenomen. Andere parameters zijn onder meer:
  * `echo=2:3` drukt alleen de tweede en derde regel af;
  * `echo=-2:-3` sluit alleen de tweede en derde regel uit.
* `cache`. Of de codechunk moet worden gecachet. Mogelijke waarden zijn: `TRUE` en `FALSE`
* `highlight`. Of de broncode gemarkeerd moet worden. Mogelijke waarden zijn: `TRUE` en `FALSE`
* `background`. Achtergrondkleur van de chunk. RGB- en HTML-opmaken kunnen worden gebruikt. De standaardwaarde is *"#F7F7F7"*.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/texlive/nl/vaardigheden/r-code-knitr.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
