> 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/el/deksiotites/kodikas-r-knitr.md).

# Κώδικας R (knitr)

Το Overleaf παρέχει ενσωμάτωση με **knitr**, η οποία σας επιτρέπει να προσθέσετε κώδικα R στο έγγραφο LaTeX σας για να δημιουργήσετε δυναμική έξοδο.

Τα έγγραφα που περιέχουν κώδικα R πρέπει να αποθηκεύονται με την επέκταση `.Rtex` ή `.Rnw`, διαφορετικά ο κώδικας δεν θα λειτουργήσει. Ας δούμε ένα παράδειγμα:

{% code overflow="wrap" %}

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

Μπορείτε να πληκτρολογήσετε εντολές R στο έγγραφό σας \LaTeX{} οι οποίες θα επεξεργαστούν και η έξοδός τους θα συμπεριληφθεί στο έγγραφο:

<<>>=
# Δημιουργήστε μια ακολουθία αριθμών
X = 2:10

# Εμφάνιση βασικών στατιστικών μεγεθών
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)

[Ανοίξτε αυτό `knitr` παράδειγμα στο Overleaf](https://www.overleaf.com/project/new/template/20421?id=69881107\&templateName=Knitr+demo+1\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Όπως βλέπετε, το κείμενο ανάμεσα στους χαρακτήρες `<<>>=` και `@` είναι κώδικας R. Αυτός ο κώδικας και η έξοδός του εκτυπώνονται σε μορφή παρόμοια με λίστα. Αυτό το τμήμα κώδικα μπορεί να λάβει ορισμένες επιπλέον παραμέτρους για να προσαρμόσει τη δυναμική έξοδο, όπως περιγράφεται στην επόμενη ενότητα.

### Τμήματα κώδικα

Ένα μπλοκ κώδικα όπως αυτό που παρουσιάστηκε στην προηγούμενη ενότητα συνήθως ονομάζεται *τμήμα*. Μπορείτε να ορίσετε κάποιες επιπλέον επιλογές στα chunks του knitr. Δείτε το παρακάτω παράδειγμα:

{% code overflow="wrap" %}

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

Μπορείτε να πληκτρολογήσετε εντολές R στο έγγραφό σας \LaTeX{} οι οποίες θα επεξεργαστούν και η έξοδός τους θα συμπεριληφθεί στο έγγραφο:

<<echo=FALSE, cache=TRUE>>=
# Δημιουργήστε μια ακολουθία αριθμών
X = 2:10

# Εμφάνιση βασικών στατιστικών μεγεθών
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)

[Ανοίξτε αυτό `knitr` παράδειγμα στο Overleaf](https://www.overleaf.com/project/new/template/20423?id=69885763\&templateName=Knitr+demo+2\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Υπάρχουν δύο επιπλέον επιλογές που περνούν μέσα στο `<<` και `>>`.

* `echo=FALSE`Αυτό κρύβει τον κώδικα και εκτυπώνει μόνο την έξοδο που δημιουργείται από το R.
* `cache=TRUE`Αν η προσωρινή αποθήκευση (cache) οριστεί σε true, το τμήμα δεν εκτελείται, μόνο τα αντικείμενα που δημιουργεί. Αυτό εξοικονομεί χρόνο αν τα δεδομένα σε αυτό το τμήμα δεν έχουν αλλάξει.

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><em>Σημειώστε ότι η επιλογή cache=TRUE δεν υποστηρίζεται προς το παρόν στο Overleaf, αλλά θα πρέπει να λειτουργεί τοπικά.</em></p></div>

Δείτε το [οδηγό αναφοράς](https://learn.overleaf.com/learn/Knitr#Reference_guide) για περισσότερες επιλογές.

### Ενσωματωμένες εντολές

Είναι δυνατό να αποκτήσετε πρόσβαση σε αντικείμενα που δημιουργήθηκαν σε ένα τμήμα και να τα εκτυπώσετε ενσωματωμένα στο κείμενο.

{% code overflow="wrap" %}

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

Μπορείτε να πληκτρολογήσετε εντολές R στο έγγραφό σας \LaTeX{} οι οποίες θα επεξεργαστούν και η έξοδός τους θα συμπεριληφθεί στο έγγραφο:

<<echo=FALSE, cache=TRUE>>=
# Δημιουργήστε μια ακολουθία αριθμών
X = 2:10

# Εμφάνιση βασικών στατιστικών μεγεθών
summary(X)

@

Άρα, ο μέσος όρος των δεδομένων είναι $\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)

[Ανοίξτε αυτό `knitr` παράδειγμα στο Overleaf](https://www.overleaf.com/project/new/template/20425?id=69886866\&templateName=Knitr+demo+3\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Η εντολή `\Sexpr{mean(X)}` εκτυπώνει την έξοδο που επιστρέφεται από τον κώδικα R `mean(X)`. Μέσα στις αγκύλες μπορούν να περαστούν οποιεσδήποτε εντολές R.

### Διαγράμματα

Διαγράμματα μπορούν επίσης να προστεθούν σε ένα έγγραφο knitr, όπως σε αυτό το παράδειγμα:

{% 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", xlab="Δεδομένα")

@

Το σχήμα \ref{fig:plot1} είναι ένα απλό ιστόγραμμα.

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

[Ανοίξτε αυτό `knitr` παράδειγμα στο Overleaf](https://www.overleaf.com/project/new/template/20427?id=69890965\&templateName=Knitr+demo+3\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Αυτό το ιστόγραμμα χρησιμοποιεί δεδομένα αποθηκευμένα στο "data.txt", που είναι αποθηκευμένο στον τρέχοντα κατάλογο εργασίας. Στο τμήμα περνούν ορισμένες επιλογές σχετικές με το σχήμα.

`plot1`Αυτή είναι η ετικέτα που χρησιμοποιείται για την αναφορά στο γράφημα. Το πρόθεμα "fig:" είναι υποχρεωτικό. Μπορείτε να δείτε στο παράδειγμα ότι το σχήμα αναφέρεται με `\ref{fig:plot1}`.`fig.pos="t"` παράμετρο θέσης. Αυτή είναι η ίδια που χρησιμοποιείται στο [περιβάλλον figure](https://learn.overleaf.com/learn/Positioning_images_and_tables#The_figure_environment).`fig.height=4, fig.width=4`Πλάτος και ύψος του σχήματος.`fig.cap="Πρώτο γράφημα"`Λεζάντα του σχήματος.

### Εξωτερικά σενάρια R

Μπορείτε να εισαγάγετε μέρη ενός εξωτερικού σεναρίου R σε ένα έγγραφο knitr. Αυτό είναι πολύ χρήσιμο, καθώς είναι αρκετά συνηθισμένο να γράφετε και να κάνετε αποσφαλμάτωση του σεναρίου σε εξωτερικό πρόγραμμα πριν το συμπεριλάβετε στο έγγραφό σας.

Ας υποθέσουμε ότι έχουμε τον ακόλουθο κώδικα R σε ένα αρχείο που ονομάζεται `mycode.R` το οποίο συμπεριλαμβάνουμε στο έγγραφό μας LaTeX:

```r
## ---- myrcode1
# Δημιουργήστε μια ακολουθία αριθμών
 X = 2:10

## ---- myrcode2
# Εμφάνιση βασικών στατιστικών μεγεθών
summary(X)
```

Παρατηρήστε τις γραμμές:

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

και

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

Αυτές σηματοδοτούν την αρχή ενός τμήματος κώδικα και είναι υποχρεωτικές αν θέλετε να χρησιμοποιήσετε αυτό το σενάριο στο έγγραφό μας, όπως φαίνεται στο ακόλουθο απόσπασμα κώδικα:

```r
Το παρακάτω τμήμα δεν θα εκτυπωθεί

<<echo=FALSE, cache=FALSE>>=
read_chunk("mycode.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)

Το πρώτο τμήμα δεν εκτυπώνεται και χρησιμοποιείται μόνο για την εισαγωγή του σεναρίου με την εντολή `read_chunk("mycode.R")` . Γι' αυτό η επιλογή `echo=FALSE` έχει οριστεί. Επίσης, τα σενάρια δεν πρέπει να αποθηκεύονται στην cache. Μόλις εισαχθεί το σενάριο, μπορείτε να εκτυπώσετε ένα τμήμα χρησιμοποιώντας την ετικέτα που ορίσατε μετά το `## ----`. Σε αυτήν την περίπτωση είναι `myrcode2`.

Έχουμε τοποθετήσει όλα τα αποσπάσματα κώδικα του άρθρου σε ένα project που [μπορείτε να το ανοίξετε στο Overleaf](https://www.overleaf.com/project/new/template/20429?id=69894649\&templateName=Knitr+full+demo\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=) .

### Οδηγός αναφοράς

Ορισμένες επιλογές τμήματος:

* `αποτελέσματα`. Αλλάζει τη συμπεριφορά των αποτελεσμάτων που δημιουργούνται από τον κώδικα R. Οι πιθανές τιμές είναι:
  * `σήμανση` Χρησιμοποιήστε LaTeX για τη μορφοποίηση της εξόδου.
  * `ως έχει` Εκτυπώστε ακατέργαστα αποτελέσματα από το R.
  * `hold` Διατηρεί τα αποτελέσματα εξόδου και τα μεταφέρει στο τέλος του τμήματος.
  * `hide` Απόκρυψη αποτελεσμάτων.
* `echo`. Αν θα συμπεριληφθεί ο πηγαίος κώδικας R. Άλλες παράμετροι περιλαμβάνουν:
  * `echo=2:3` εκτυπώνει μόνο τη δεύτερη και τρίτη γραμμή;
  * `echo=-2:-3` εξαιρεί μόνο τη δεύτερη και τρίτη γραμμή.
* `cache`. Αν θα αποθηκευτεί στην cache το τμήμα κώδικα. Οι πιθανές τιμές είναι: `TRUE` και `FALSE`
* `highlight`. Αν θα επισημανθεί ο πηγαίος κώδικας. Οι πιθανές τιμές είναι: `TRUE` και `FALSE`
* `φόντο`. Χρώμα φόντου του τμήματος. Μπορούν να χρησιμοποιηθούν οι μορφές rgb και HTML. Η προεπιλεγμένη τιμή είναι *"#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/el/deksiotites/kodikas-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.
