> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Kód R (knitr)

Overleaf nabízí integraci s **knitr**, která vám umožňuje přidat do dokumentu LaTeX kód v jazyce R a generovat tak dynamický výstup.

Dokumenty obsahující kód R musí být uloženy s příponou `.Rtex` nebo `.Rnw`, jinak kód nebude fungovat. Podívejme se na příklad:

```latex wrap theme={null}
\documentclass{article}
\begin{document}

You can type R commands in your \LaTeX{} document which will be processed and their output included in the document:

<<>>=
# Create a sequence of numbers
X = 2:10

# Display basic statistical measures
summary(X)

@
\end{document}
```

<img src="https://mintcdn.com/ayakaleaf-pro/v5p5w9EX1_dka_GD/images/texlive/knitrdemo1.png?fit=max&auto=format&n=v5p5w9EX1_dka_GD&q=85&s=4cd20c6acbeeab2b1ae2b115efece70d" alt="KnitrDemo1.png" width="2150" height="681" data-path="images/texlive/knitrdemo1.png" />

[Otevřít tento příklad `knitr` v Overleafu](https://www.overleaf.com/project/new/template/20421?id=69881107\&templateName=Knitr+demo+1\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Jak vidíte, text mezi znaky `<<>>=` a `@` je kód R. Tento kód a jeho výstup se vypíší ve formátu podobném výpisu (listingu). Tento úsek kódu může přijímat další parametry pro přizpůsobení dynamického výstupu, jak je popsáno v následující části.

### Úseky kódu

Blok kódu, jako je ten v předchozí části, se obvykle nazývá *chunk* (úsek). V úsecích knitr můžete nastavit další volby. Viz příklad níže:

```latex wrap theme={null}
\documentclass{article}
\begin{document}

You can type R commands in your \LaTeX{} document which will be processed and their output included in the document:

<<echo=FALSE, cache=TRUE>>=
# Create a sequence of numbers
X = 2:10

# Display basic statistical measures
summary(X)

@
\end{document}
```

<img src="https://mintcdn.com/ayakaleaf-pro/v5p5w9EX1_dka_GD/images/texlive/screenshot-2025-12-16-143420.png?fit=max&auto=format&n=v5p5w9EX1_dka_GD&q=85&s=9c79c98b1894d1cd22f783c29356de1f" alt="KnitrDemo2.png" width="1910" height="559" data-path="images/texlive/screenshot-2025-12-16-143420.png" />

[Otevřít tento příklad `knitr` v Overleafu](https://www.overleaf.com/project/new/template/20423?id=69885763\&templateName=Knitr+demo+2\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Uvnitř `<<` a `>>` jsou předány dvě další volby.

* `echo=FALSE` Skryje kód a vypíše pouze výstup vygenerovaný R.
* `cache=TRUE` Je-li cache nastavena na true, úsek se nespouští, použijí se pouze objekty, které vygeneroval. To šetří čas, pokud se data v daném úseku nezměnila.

  <Info><em>Upozorňujeme, že volba cache=TRUE není v Overleafu v současnosti podporována, ale lokálně by měla fungovat.</em></Info>

Další volby najdete v [referenční příručce](https://learn.overleaf.com/learn/Knitr#Reference_guide).

### Vložené příkazy

Objekty vygenerované v úseku je možné zpřístupnit a vypsat přímo v textu.

```latex wrap theme={null}
\documentclass{article}
\begin{document}

You can type R commands in your \LaTeX{} document which will be processed and their output included in the document:

<<echo=FALSE, cache=TRUE>>=
# Create a sequence of numbers
X = 2:10

# Display basic statistical measures
summary(X)

@

So, the mean of the data is $\Sexpr{mean(X)}$
\end{document}
```

<img src="https://mintcdn.com/ayakaleaf-pro/v5p5w9EX1_dka_GD/images/texlive/screenshot-2025-12-16-143647.png?fit=max&auto=format&n=v5p5w9EX1_dka_GD&q=85&s=8b59926a477373b2787f884267d7c263" alt="KnitrDemo3.png" width="1910" height="630" data-path="images/texlive/screenshot-2025-12-16-143647.png" />

[Otevřít tento příklad `knitr` v Overleafu](https://www.overleaf.com/project/new/template/20425?id=69886866\&templateName=Knitr+demo+3\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Příkaz `\Sexpr{mean(X)}` vypíše výstup vrácený kódem R `mean(X)`. Do složených závorek lze předat jakýkoli příkaz R.

### Grafy

Do dokumentu knitr lze přidávat také grafy, jako v tomto příkladu:

```latex wrap theme={null}
\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")

@

The figure \ref{fig:plot1} is simple histogram.

\end{document}
```

<img src="https://mintcdn.com/ayakaleaf-pro/GmaXa-Cu4QQRFT4C/images/texlive/screenshot-2025-12-16-143811.png?fit=max&auto=format&n=GmaXa-Cu4QQRFT4C&q=85&s=af1985b1e5b5ce56b777c5d9e3066420" alt="KnitrDemo4.png" width="1915" height="756" data-path="images/texlive/screenshot-2025-12-16-143811.png" />

[Otevřít tento příklad `knitr` v Overleafu](https://www.overleaf.com/project/new/template/20427?id=69890965\&templateName=Knitr+demo+3\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Tento histogram používá data uložená v souboru "data.txt" v aktuálním pracovním adresáři. Úseku je předáno několik voleb souvisejících s obrázkem.

`plot1` Toto je návěští použité pro odkazování na graf. Předpona "fig:" je povinná. V příkladu vidíte, že na obrázek se odkazuje pomocí `\ref{fig:plot1}`. `fig.pos="t"` je parametr umístění. Je stejný jako v [prostředí figure](https://learn.overleaf.com/learn/Positioning_images_and_tables#The_figure_environment). `fig.height=4, fig.width=4` Šířka a výška obrázku. `fig.cap="First plot"` Popisek obrázku.

### Externí skripty R

Do dokumentu knitr můžete importovat části externího skriptu R. To je velmi užitečné, protože je poměrně běžné napsat a odladit skript v externím programu před jeho vložením do dokumentu.

Předpokládejme, že máme následující kód R v souboru `mycode.R`, který vkládáme do našeho dokumentu LaTeX:

```r theme={null}
## ---- myrcode1
# Create a sequence of numbers
 X = 2:10

## ---- myrcode2
# Display basic statistical measures
summary(X)
```

Všimněte si řádků:

```r theme={null}
## ---- myrcode1
```

a

```r theme={null}
## ---- myrcode2
```

Ty označují začátek úseku kódu a jsou povinné, pokud chcete tento skript použít v dokumentu, jak ukazuje následující fragment kódu:

```r theme={null}
The chunk below will not be printed

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

The code must show up here

<<myrcode2>>=

@
```

<img src="https://mintcdn.com/ayakaleaf-pro/v5p5w9EX1_dka_GD/images/texlive/knitrdemo5.png?fit=max&auto=format&n=v5p5w9EX1_dka_GD&q=85&s=0f1fd4088c9359058547a7c58f121bd5" alt="KnitrDemo5.png" width="1544" height="436" data-path="images/texlive/knitrdemo5.png" />

První úsek se nevypisuje a slouží pouze k importu skriptu pomocí příkazu `read_chunk("mycode.R")`. Proto je nastavena volba `echo=FALSE`. Skripty také nesmí být ukládány do cache. Po importu skriptu můžete vypsat úsek pomocí návěští, které jste nastavili za `## ----`. V tomto případě je to `myrcode2`.

Všechny fragmenty kódu z tohoto článku jsme umístili do projektu, který [si můžete otevřít v Overleafu](https://www.overleaf.com/project/new/template/20429?id=69894649\&templateName=Knitr+full+demo\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=).

### Referenční příručka

Některé volby úseků:

* `results`. Mění chování výsledků generovaných kódem R. Možné hodnoty jsou:
  * `markup` K formátování výstupu použije LaTeX.
  * `asis` Vypíše surové výsledky z R.
  * `hold` Podrží výsledky výstupu a přesune je na konec úseku.
  * `hide` Skryje výsledky.
* `echo`. Zda zahrnout zdrojový kód R. Další parametry zahrnují:
  * `echo=2:3` vypíše pouze druhý a třetí řádek;
  * `echo=-2:-3` vynechá pouze druhý a třetí řádek.
* `cache`. Zda ukládat úsek kódu do cache. Možné hodnoty jsou: `TRUE` a `FALSE`
* `highlight`. Zda zvýrazňovat zdrojový kód. Možné hodnoty jsou: `TRUE` a `FALSE`
* `background`. Barva pozadí úseku. Lze použít formáty rgb a HTML. Výchozí hodnota je *"#F7F7F7"*.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.