> ## 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.

# R kodu (knitr)

Overleaf, **knitr** ile bir entegrasyon sunar; bu sayede dinamik çıktı üretmek için LaTeX belgenize R kodu ekleyebilirsiniz.

R kodu içeren belgeler `.Rtex` veya `.Rnw` uzantısıyla kaydedilmelidir, aksi takdirde kod çalışmaz. Bir örneğe bakalım:

```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" />

[Bu `knitr` örneğini Overleaf'te açın](https://www.overleaf.com/project/new/template/20421?id=69881107\&templateName=Knitr+demo+1\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Gördüğünüz gibi `<<>>=` ve `@` karakterleri arasındaki metin R kodudur. Bu kod ve çıktısı listeleme benzeri bir biçimde yazdırılır. Bu kod parçası, bir sonraki bölümde açıklandığı gibi dinamik çıktıyı özelleştirmek için bazı ek parametreler alabilir.

### Kod parçaları (chunk)

Önceki bölümde sunulana benzer bir kod bloğuna genellikle *chunk* (parça) denir. knitr parçalarında bazı ek seçenekler ayarlayabilirsiniz. Aşağıdaki örneğe bakın:

```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" />

[Bu `knitr` örneğini Overleaf'te açın](https://www.overleaf.com/project/new/template/20423?id=69885763\&templateName=Knitr+demo+2\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

`<<` ve `>>` içinde iki ek seçenek iletilmiştir.

* `echo=FALSE` Bu, kodu gizler ve yalnızca R tarafından üretilen çıktıyı yazdırır.
* `cache=TRUE` cache true olarak ayarlanırsa parça çalıştırılmaz, yalnızca onun ürettiği nesneler kullanılır. Bu, o parçadaki veriler değişmediyse zaman kazandırır.

  <Info><em>cache=TRUE seçeneğinin şu anda Overleaf'te desteklenmediğini, ancak yerel olarak çalışması gerektiğini unutmayın.</em></Info>

Daha fazla seçenek için [başvuru kılavuzuna](https://learn.overleaf.com/learn/Knitr#Reference_guide) bakın.

### Satır içi komutlar

Bir parçada oluşturulan nesnelere erişmek ve bunları satır içinde yazdırmak mümkündür.

```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" />

[Bu `knitr` örneğini Overleaf'te açın](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)}` komutu, `mean(X)` R kodunun döndürdüğü çıktıyı yazdırır. Süslü parantezlerin içine herhangi bir R komutu verilebilir.

### Grafikler

Bu örnekte olduğu gibi knitr belgesine grafikler de eklenebilir:

```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" />

[Bu `knitr` örneğini Overleaf'te açın](https://www.overleaf.com/project/new/template/20427?id=69890965\&templateName=Knitr+demo+3\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Bu histogram, geçerli çalışma dizininde kayıtlı "data.txt" dosyasındaki verileri kullanır. Parçaya şekille ilgili birkaç seçenek iletilmiştir.

`plot1` Bu, grafiğe atıfta bulunmak için kullanılan etikettir. "fig:" öneki zorunludur. Örnekte şekle `\ref{fig:plot1}` ile atıfta bulunulduğunu görebilirsiniz. `fig.pos="t"` konumlandırma parametresi. Bu, [figure ortamında](https://learn.overleaf.com/learn/Positioning_images_and_tables#The_figure_environment) kullanılanla aynıdır. `fig.height=4, fig.width=4` Şeklin genişliği ve yüksekliği. `fig.cap="First plot"` Şeklin başlığı.

### Harici R betikleri

Harici bir R betiğinin bölümlerini bir knitr belgesine aktarabilirsiniz. Betiği belgenize eklemeden önce harici bir programda yazıp hatalarını ayıklamak oldukça yaygın olduğundan bu çok kullanışlıdır.

LaTeX belgemize eklediğimiz `mycode.R` adlı bir dosyada aşağıdaki R kodunun bulunduğunu varsayalım:

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

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

Şu satırlara dikkat edin:

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

ve

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

Bunlar bir kod parçasının başlangıcını işaretler ve aşağıdaki kod parçasında gösterildiği gibi bu betiği belgemizde kullanmak istiyorsanız zorunludur:

```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" />

İlk parça yazdırılmaz ve yalnızca `read_chunk("mycode.R")` komutuyla betiği içe aktarmak için kullanılır. Bu yüzden `echo=FALSE` seçeneği ayarlanmıştır. Ayrıca betikler önbelleğe alınmamalıdır. Betik içe aktarıldıktan sonra, `## ----` sonrasında belirlediğiniz etiketi kullanarak bir parçayı yazdırabilirsiniz. Bu örnekte bu etiket `myrcode2`'dir.

Makaledeki tüm kod parçalarını, [Overleaf'te açabileceğiniz](https://www.overleaf.com/project/new/template/20429?id=69894649\&templateName=Knitr+full+demo\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=) bir projede bir araya getirdik.

### Başvuru kılavuzu

Bazı parça seçenekleri:

* `results`. R kodu tarafından üretilen sonuçların davranışını değiştirir. Olası değerler şunlardır:
  * `markup` Çıktıyı biçimlendirmek için LaTeX kullanır.
  * `asis` R'den gelen ham sonuçları yazdırır.
  * `hold` Çıktı sonuçlarını bekletir ve parçanın sonuna iter.
  * `hide` Sonuçları gizler.
* `echo`. R kaynak kodunun dahil edilip edilmeyeceği. Diğer parametreler şunlardır:
  * `echo=2:3` yalnızca ikinci ve üçüncü satırları yazdırır;
  * `echo=-2:-3` yalnızca ikinci ve üçüncü satırları hariç tutar.
* `cache`. Kod parçasının önbelleğe alınıp alınmayacağı. Olası değerler: `TRUE` ve `FALSE`
* `highlight`. Kaynak kodun vurgulanıp vurgulanmayacağı. Olası değerler: `TRUE` ve `FALSE`
* `background`. Parçanın arka plan rengi. rgb ve HTML biçimleri kullanılabilir. Varsayılan değer *"#F7F7F7"*'dir.


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