> 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/texlive-sv/fardigheter/r-kod-knitr.md).

# R-kod (knitr)

Overleaf erbjuder en integration med **knitr**, vilket gör att du kan lägga till R-kod i ditt LaTeX-dokument för att generera ett dynamiskt resultat.

Dokument som innehåller R-kod måste sparas med ändelsen `.Rtex` eller `.Rnw`, annars kommer koden inte att fungera. Låt oss se ett exempel:

{% code overflow="wrap" %}

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

Du kan skriva R-kommandon i ditt \LaTeX{}-dokument som kommer att bearbetas och vars utdata inkluderas i dokumentet:

<<>>=
# Skapa en sekvens av tal
X = 2:10

# Visa grundläggande statistiska mått
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)

[Öppna detta `knitr` exempel 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 är texten mellan tecknen `<<>>=` och `@` R-kod. Denna kod och dess utdata skrivs ut i ett listliknande format. Detta kodblock kan ta några extra parametrar för att anpassa den dynamiska utdata, som beskrivs i nästa avsnitt.

### Kodblock

Ett kodblock som det som presenterades i föregående avsnitt kallas vanligtvis ett *kodblock*. Du kan ange några extra alternativ i knitr-kodblock. Se exemplet nedan:

{% code overflow="wrap" %}

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

Du kan skriva R-kommandon i ditt \LaTeX{}-dokument som kommer att bearbetas och vars utdata inkluderas i dokumentet:

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

# Visa grundläggande statistiska mått
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)

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

Det finns två ytterligare alternativ som skickas inuti `<<` och `>>`.

* `echo=FALSE`Detta döljer koden och skriver endast ut utdata som genereras av R.
* `cache=TRUE`Om cache är satt till true körs inte kodblocket, endast objekten som genereras av det. Detta sparar tid om datan i det kodblocket inte har ändrats.

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><em>Observera att alternativet cache=TRUE för närvarande inte stöds i Overleaf, men det bör fungera lokalt.</em></p></div>

Se [referensguiden](https://learn.overleaf.com/learn/Knitr#Reference_guide) för fler alternativ.

### Inbäddade kommandon

Det går att komma åt objekt som genererats i ett kodblock och skriva ut dem inline.

{% code overflow="wrap" %}

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

Du kan skriva R-kommandon i ditt \LaTeX{}-dokument som kommer att bearbetas och vars utdata inkluderas i dokumentet:

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

# Visa grundläggande statistiska mått
summary(X)

@

Så medelvärdet för datan är $\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)

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

Kommandot `\Sexpr{mean(X)}` skriver ut utdata som returneras av R-koden `mean(X)`. Inom klamrarna kan vilket R-kommando som helst skickas in.

### Diagram

Diagram kan också läggas till i ett knitr-dokument, som i det här exemplet:

{% 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")

@

Figuren \ref{fig:plot1} är ett enkelt 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)

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

Detta histogram använder data som lagras i "data.txt", sparad i den aktuella arbetskatalogen. Några figurrelaterade alternativ skickas till kodblocket.

`plot1`Detta är etiketten som används för att referera till diagrammet. Prefixet "fig:" är obligatoriskt. Du kan se i exemplet att figuren refereras med `\ref{fig:plot1}`.`fig.pos="t"` placeringsparameter. Detta är samma som används i [figurmiljön](https://learn.overleaf.com/learn/Positioning_images_and_tables#The_figure_environment).`fig.height=4, fig.width=4`Figurens bredd och höjd.`fig.cap="First plot"`Bildtext för figuren.

### Externa R-skript

Du kan importera delar av ett externt R-skript till ett knitr-dokument. Detta är mycket användbart eftersom det är ganska vanligt att skriva och felsöka skriptet i ett externt program innan det inkluderas i ditt dokument.

Anta att vi har följande R-kod i en fil som heter `mycode.R` som vi inkluderar i vårt LaTeX-dokument:

```r
## ---- myrcode1
# Skapa en sekvens av tal
 X = 2:10

## ---- myrcode2
# Visa grundläggande statistiska mått
summary(X)
```

Observera raderna:

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

och

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

Dessa markerar början på ett kodblock och är obligatoriska om du vill använda detta skript i vårt dokument, som visas i följande kodfragment:

```r
Kodblocket nedan kommer inte att skrivas ut

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

Koden måste visas här

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

Det första kodblocket skrivs inte ut och används endast för att importera skriptet med kommandot `read_chunk("mycode.R")` . Därför är alternativet `echo=FALSE` inställt. Dessutom får skript inte cachas. När skriptet har importerats kan du skriva ut ett kodblock med den etikett du angav efter `## ----`. I det här fallet är det `myrcode2`.

Vi har lagt alla artikelns kodfragment i ett projekt som [du kan öppna på Overleaf](https://www.overleaf.com/project/new/template/20429?id=69894649\&templateName=Knitr+full+demo\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=) .

### Referensguide

Några alternativ för kodblock:

* `resultat`. Ändrar beteendet för resultaten som genereras av R-koden. Möjliga värden är:
  * `markup` Använd LaTeX för att formatera utdata.
  * `asis` Skriv ut råa resultat från R.
  * `hold` Håll kvar utdata och placera dem i slutet av kodblocket.
  * `hide` Dölj resultaten.
* `echo`. Huruvida R-källkoden ska inkluderas. Andra parametrar inkluderar:
  * `echo=2:3` skriver endast ut den andra och tredje raden;
  * `echo=-2:-3` utesluter endast den andra och tredje raden.
* `cache`. Huruvida kodblocket ska cachas. Möjliga värden är: `TRUE` och `FALSE`
* `highlight`. Huruvida källkoden ska markeras. Möjliga värden är: `TRUE` och `FALSE`
* `background`. Kodblockets bakgrundsfärg. rgb- och HTML-format kan användas. Standardvärdet är *"#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/texlive-sv/fardigheter/r-kod-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.
