> 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/da/faerdigheder/r-kode-knitr.md).

# R-kode (knitr)

Overleaf tilbyder en integration med **knitr**, som giver dig mulighed for at tilføje R-kode til dit LaTeX-dokument for at generere et dynamisk output.

Dokumenter, der indeholder R-kode, skal gemmes med filendelsen `.Rtex` eller `.Rnw`, ellers vil koden ikke virke. Lad os se et eksempel:

{% code overflow="wrap" %}

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

Du kan skrive R-kommandoer i dit \LaTeX{}-dokument, som vil blive behandlet, og hvis output vil blive inkluderet i dokumentet:

<<>>=
# Opret en sekvens af tal
X = 2:10

# Vis grundlæggende statistiske mål
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)

[Åbn denne `knitr` eksempel på Overleaf](https://www.overleaf.com/project/new/template/20421?id=69881107\&templateName=Knitr+demo+1\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Som du kan se, er teksten mellem tegnene `<<>>=` og `@` er R-kode. Denne kode og dens output udskrives i et listings-lignende format. Denne kodeblok kan tage nogle ekstra parametre for at tilpasse det dynamiske output, som beskrevet i næste afsnit.

### Kodeblokke

En kodeblok som den, der blev præsenteret i det foregående afsnit, kaldes normalt en *chunk*. Du kan angive nogle ekstra indstillinger i knitr-chunks. Se eksemplet nedenfor:

{% code overflow="wrap" %}

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

Du kan skrive R-kommandoer i dit \LaTeX{}-dokument, som vil blive behandlet, og hvis output vil blive inkluderet i dokumentet:

<<echo=FALSE, cache=TRUE>>=
# Opret en sekvens af tal
X = 2:10

# Vis grundlæggende statistiske mål
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)

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

Der er to yderligere indstillinger, der sendes inde i `<<` og `>>`.

* `echo=FALSE`Dette skjuler koden og udskriver kun det output, der genereres af R.
* `cache=TRUE`Hvis cache er sat til true, køres chunk'en ikke, kun de objekter, den genererer. Det sparer tid, hvis dataene i den chunk ikke har ændret sig.

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><em>Bemærk, at indstillingen cache=TRUE ikke understøttes i øjeblikket i Overleaf, men den burde virke lokalt.</em></p></div>

Se [referenceguiden](https://learn.overleaf.com/learn/Knitr#Reference_guide) for flere muligheder.

### Indlejrede kommandoer

Det er muligt at få adgang til objekter, der genereres i en chunk, og udskrive dem inline.

{% code overflow="wrap" %}

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

Du kan skrive R-kommandoer i dit \LaTeX{}-dokument, som vil blive behandlet, og hvis output vil blive inkluderet i dokumentet:

<<echo=FALSE, cache=TRUE>>=
# Opret en sekvens af tal
X = 2:10

# Vis grundlæggende statistiske mål
summary(X)

@

Så middelværdien af dataene er $\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)

[Åbn denne `knitr` eksempel på Overleaf](https://www.overleaf.com/project/new/template/20425?id=69886866\&templateName=Knitr+demo+3\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Kommandoen `\Sexpr{mean(X)}` udskriver outputtet, der returneres af R-koden `mean(X)`. Inde i klammerne kan enhver R-kommando indsættes.

### Grafer

Grafer kan også tilføjes et knitr-dokument, som i dette eksempel:

{% code overflow="wrap" %}

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

<<plot1, fig.pos="t", fig.height=4, fig.width=4, fig.cap="Første plot">>=

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

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

@

Figuren \ref{fig:plot1} er et simpelt 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)

[Åbn denne `knitr` eksempel på Overleaf](https://www.overleaf.com/project/new/template/20427?id=69890965\&templateName=Knitr+demo+3\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Dette histogram bruger data, der er gemt i "data.txt", som er gemt i den aktuelle arbejdsmappe. Nogle få figurrelaterede indstillinger sendes til chunk'en.

`plot1`Dette er etiketten, der bruges til at henvise til plottet. Præfikset "fig:" er obligatorisk. Du kan se i eksemplet, at figuren henvises til med `\ref{fig:plot1}`.`fig.pos="t"` placeringsparameter. Dette er den samme, som bruges i [figurmiljøet](https://learn.overleaf.com/learn/Positioning_images_and_tables#The_figure_environment).`fig.height=4, fig.width=4`Figurens bredde og højde.`fig.cap="Første plot"`Figurtekst til figuren.

### Eksterne R-scripts

Du kan importere dele af et eksternt R-script i et knitr-dokument. Dette er meget nyttigt, da det er ret almindeligt at skrive og fejlfinde scriptet i et eksternt program, før det inkluderes i dit dokument.

Antag, at vi har følgende R-kode i en fil kaldet `mycode.R` som vi inkluderer i vores LaTeX-dokument:

```r
## ---- myrcode1
# Opret en sekvens af tal
 X = 2:10

## ---- myrcode2
# Vis grundlæggende statistiske mål
summary(X)
```

Bemærk linjerne:

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

og

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

Disse markerer begyndelsen på en kodeblok og er obligatoriske, hvis du vil bruge dette script i vores dokument, som vist i det følgende kodefragment:

```r
Chunk'en nedenfor vil ikke blive udskrevet

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

Koden skal vises her

<<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)

Den første chunk udskrives ikke og bruges kun til at importere scriptet med kommandoen `read_chunk("mycode.R")` . Derfor er indstillingen `echo=FALSE` er angivet. Desuden må scripts ikke caches. Når scriptet er importeret, kan du udskrive en chunk ved at bruge den etiket, du angav efter `## ----`. I dette tilfælde er det `myrcode2`.

Vi har lagt alle kodefragmenterne fra artiklen ind i et projekt, som [du kan åbne på Overleaf](https://www.overleaf.com/project/new/template/20429?id=69894649\&templateName=Knitr+full+demo\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=) .

### Referenceguide

Nogle chunk-indstillinger:

* `resultater`. Ændrer adfærden for de resultater, der genereres af R-koden. Mulige værdier er:
  * `markup` Brug LaTeX til at formatere outputtet.
  * `asis` Udskriv rå resultater fra R.
  * `hold` Hold outputresultaterne tilbage og skub dem til slutningen af chunk'en.
  * `skjul` Skjul resultater.
* `echo`. Hvorvidt R-kildekoden skal medtages. Andre parametre omfatter:
  * `echo=2:3` udskriver kun den anden og tredje linje;
  * `echo=-2:-3` udelader kun den anden og tredje linje.
* `cache`. Hvorvidt kodeblokken skal caches. Mulige værdier er: `TRUE` og `FALSE`
* `highlight`. Hvorvidt kildekoden skal fremhæves. Mulige værdier er: `TRUE` og `FALSE`
* `background`. Baggrundsfarven for chunk'en. rgb- og HTML-formater kan bruges. Standardværdien er *"#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/da/faerdigheder/r-kode-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.
