> 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/cs/dovednosti/kod-v-jazyce-r-knitr.md).

# Kód v jazyce R (knitr)

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

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

{% code overflow="wrap" %}

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

V dokumentu \LaTeX{} můžete psát příkazy R, které budou zpracovány a jejich výstup bude zahrnut do dokumentu:

<<>>=
# Vytvoření posloupnosti čísel
X = 2:10

# Zobrazení základních statistických ukazatelů
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)

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

Jak můžete vidět, text mezi znaky `<<>>=` a `@` je kód v R. Tento kód i jeho výstup jsou vypsány ve formátu podobném výpisu. Tento blok kódu může mít některé další parametry pro přizpůsobení dynamického výstupu, jak je popsáno v následující části.

### Bloky kódu

Kódový blok, jako je ten uvedený v předchozí části, se obvykle nazývá *blok*. V blocích knitr můžete nastavit některé další volby. Viz níže uvedený příklad:

{% code overflow="wrap" %}

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

V dokumentu \LaTeX{} můžete psát příkazy R, které budou zpracovány a jejich výstup bude zahrnut do dokumentu:

<<echo=FALSE, cache=TRUE>>=
# Vytvoření posloupnosti čísel
X = 2:10

# Zobrazení základních statistických ukazatelů
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)

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

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

* `echo=FALSE`Tím se skryje kód a vypíše se pouze výstup generovaný R.
* `cache=TRUE`Pokud je cache nastavena na true, blok se nespouští, pouze objekty jím vygenerované. To šetří čas, pokud se data v tomto bloku nezměnila.

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><em>Všimněte si, že volba cache=TRUE není v současnosti v Overleafu podporována, ale lokálně by měla fungovat.</em></p></div>

Podívejte se na [referenční příručku](https://learn.overleaf.com/learn/Knitr#Reference_guide) pro další možnosti.

### Vložené příkazy

Je možné přistupovat k objektům vygenerovaným v bloku a vypisovat je přímo v textu.

{% code overflow="wrap" %}

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

V dokumentu \LaTeX{} můžete psát příkazy R, které budou zpracovány a jejich výstup bude zahrnut do dokumentu:

<<echo=FALSE, cache=TRUE>>=
# Vytvoření posloupnosti čísel
X = 2:10

# Zobrazení základních statistických ukazatelů
summary(X)

@

Takže průměr dat je $\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)

[Otevřete toto `knitr` příklad na 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)}` vypisuje výstup vrácený kódem v R `mean(X)`. Uvnitř složených závorek lze předat libovolný příkaz v R.

### Grafy

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

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

@

Obrázek \ref{fig:plot1} je jednoduchý 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)

[Otevřete toto `knitr` příklad na 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 "data.txt", která jsou uložena v aktuálním pracovním adresáři. Do bloku se předává několik voleb souvisejících s obrázkem.

`plot1`Toto je štítek použitý pro odkazování na graf. Předpona "fig:" je povinná. V příkladu můžete vidět, že se na obrázek odkazuje pomocí `\ref{fig:plot1}`.`fig.pos="t"` parametr umístění. To 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 v R. To je velmi užitečné, protože je poměrně běžné psát a ladit skript v externím programu ještě předtím, než jej zahrnete do dokumentu.

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

```r
## ---- myrcode1
# Vytvoření posloupnosti čísel
 X = 2:10

## ---- myrcode2
# Zobrazení základních statistických ukazatelů
summary(X)
```

Všimněte si řádků:

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

a

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

Ty označují začátek bloku kódu a jsou povinné, pokud chcete tento skript použít v našem dokumentu, jak je ukázáno v následujícím fragmentu kódu:

```r
Níže uvedený blok se nevypíše

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

Kód se musí zobrazit zde

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

První blok se nevypisuje a slouží pouze k importu skriptu pomocí příkazu `read_chunk("mycode.R")` . Proto je nastavena volba `echo=FALSE` je nastavena. Také skripty se nesmí ukládat do mezipaměti. Jakmile je skript importován, můžete vypsat blok pomocí štítku, který jste nastavili po `## ----`. V tomto případě je to `myrcode2`.

Všechny úryvky kódu článku jsme vložili do projektu, [který můžete otevřít na 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 bloku:

* `results`. Mění chování výsledků generovaných kódem v R. Možné hodnoty jsou:
  * `markup` Použijte LaTeX k formátování výstupu.
  * `asis` Vypíše nezpracované výsledky z R.
  * `hold` Zadrží výstupní výsledky a přesune je na konec bloku.
  * `hide` Skryje výsledky.
* `echo`. Zda zahrnout zdrojový kód R. Mezi další parametry patří:
  * `echo=2:3` vypíše pouze druhý a třetí řádek;
  * `echo=-2:-3` vyloučí pouze druhý a třetí řádek.
* `cache`. Zda blok kódu ukládat do mezipaměti. Možné hodnoty jsou: `TRUE` a `FALSE`
* `highlight`. Zda zvýraznit zdrojový kód. Možné hodnoty jsou: `TRUE` a `FALSE`
* `background`. Barva pozadí bloku. Lze použít formáty rgb a HTML. Výchozí hodnota je *"#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/cs/dovednosti/kod-v-jazyce-r-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.
