> 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/latex/tr/daha-fazla-konu/29-knitr.md).

# Knitr

Wikipedia'da belirtildiği gibi, [Knitr, R ile dinamik rapor oluşturma için bir motordur](https://en.wikipedia.org/wiki/Knitr), istatistik odaklı bir programlama dilidir. Bu makale, dinamik bir çıktı üretmek için LaTeX belgenize R kodu nasıl ekleyeceğinizi açıklar.

Standart bir LaTeX dağıtımında, işletim sisteminizde R'yi kurmuş olmanız ve bunu derlemek için bazı özel komutları çalıştırmanız gerekir. Overleaf size bu zahmeti ortadan kaldırabilir, **knitr** kutudan çıktığı gibi çalışır.

## Giriş

R kodu içeren belgeler şu uzantıyla kaydedilmelidir `.Rtex` ya da `.Rnw`; aksi halde kod çalışmaz. Bir örneğe bakalım:

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

İşlenecek ve çıktısı belgeye dahil edilecek R komutlarını \LaTeX{} belgenize yazabilirsiniz:

<<>>=
# Sayı dizisi oluştur
X = 2:10

# Temel istatistiksel ölçümleri göster
summary(X)

@
\end{document}
```

![KnitrDemo1.png](/files/1bc110b674e392701bef11eaeffd42bb3629ec52)

&#x20;[Bunu açın `knitr` Overleaf'teki örnek](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, karakterlerin arasındaki metin `<<>>=` ve `@` R kodudur; bu kod ve çıktısı liste benzeri bir biçimde yazdırılır. Bu kod parçası, dinamik çıktıyı özelleştirmek için bazı ek parametreler alabilir. Sonraki bölüme bakın.

## Kod parçaları

Önceki bölümde sunulan kod bloğu genellikle bir *parça*olarak adlandırılır. Knitr parçalarında bazı ek seçenekler ayarlayabilirsiniz. Aşağıdaki örneğe bakın:

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

İşlenecek ve çıktısı belgeye dahil edilecek R komutlarını \LaTeX{} belgenize yazabilirsiniz:

<<echo=FALSE, cache=TRUE>>=
# Sayı dizisi oluştur
X = 2:10

# Temel istatistiksel ölçümleri göster
summary(X)

@
\end{document}
```

![KnitrDemo2.png](/files/c6386e6112ed85767887d6857b5d42c566366f07)

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

İçine geçirilen üç ek seçenek vardır `<<` ve `>>`.

**echo=FALSE**

Bu, kodu gizler ve yalnızca R tarafından üretilen çıktıyı yazdırır.

**cache=TRUE**

Önbellek true olarak ayarlanırsa parça çalıştırılmaz, yalnızca onun ürettiği nesneler çalıştırılır. Bu, o parçadaki veriler değişmediyse zaman kazandırır. cache=TRUE seçeneğinin şu anda Overleaf tarafından desteklenmediğini, ancak yerel olarak çalışması gerektiğini unutmayın.

Bakınız [başvuru kılavuzuna](#reference-guide) daha fazla seçenek için.

## Satır içi komutlar

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

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

İşlenecek ve çıktısı belgeye dahil edilecek R komutlarını \LaTeX{} belgenize yazabilirsiniz:

<<echo=FALSE, cache=TRUE>>=
# Sayı dizisi oluştur
X = 2:10

# Temel istatistiksel ölçümleri göster
summary(X)

@

Dolayısıyla, verinin ortalaması $\Sexpr{mean(X)}$'dir
\end{document}
```

![KnitrDemo3.png](/files/36a76cdadd09917ab35e2fc9c757f3c2ebf590d3)

&#x20;[Bunu açın `knitr` Overleaf'teki örnek](https://www.overleaf.com/project/new/template/20425?id=69886866\&templateName=Knitr+demo+3\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Komut `\Sexpr{mean(X)}` R kodu tarafından döndürülen çıktıyı yazdırır `mean(X)`. Süslü parantezlerin içine herhangi bir R komutu verilebilir.

## Grafikler

Grafikler ayrıca bir **knitr** belgeye eklenebilir. Sonraki örneğe bakın

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

@

\ref{fig:plot1} şekli basit bir histogramdır.

\end{document}
```

![KnitrDemo4.png](/files/add59ec13d6eb8d4d331e49c0cbf8f8dea8cd3d8)

&#x20;[Bunu açın `knitr` Overleaf'teki örnek](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 kaydedilmiş "data.txt" dosyasında depolanan verileri kullanır. Parçaya grafikle ilgili birkaç seçenek aktarılır.

**plot1**

Bu, grafiğe başvuru yapmak için kullanılan etikettir. "fig:" öneki zorunludur. Örnekte, şeklin \ref{fig:plot1} ile referanslandığını görebilirsiniz.

**fig.pos="t"**

Konumlandırma parametresi. Bu, şekil ortamında kullanılanla aynıdır.

**fig.height=4, fig.width=4**

Şeklin genişliği ve yüksekliği.

**fig.cap="First plot"**

Şekil açıklaması.

## Harici R betikleri

Harici bir R betiğinin parçalarını bir **knitr** belgeye aktarabilirsiniz. Bu oldukça yararlıdır; çünkü betiği belgenize dahil etmeden önce harici bir programda yazmak ve hata ayıklamak oldukça yaygındır.

Diyelim ki adlı bir dosyada aşağıdaki R koduna sahibiz `mycode.R` ve bunu LaTeX belgemize ekliyoruz:

```latex
## ---- myrcode1
# Sayı dizisi oluştur
 X = 2:10

## ---- myrcode2
# Temel istatistiksel ölçümleri göster
summary(X)
```

Satırlara dikkat edin

```latex
## ---- myrcode1
```

ve

```latex
## ---- 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 belgenizde kullanmak istiyorsanız zorunludur:

```latex
Aşağıdaki parça yazdırılmayacaktır

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

Kodun burada görünmesi gerekir

<<myrcode2>>=

@
```

![KnitrDemo5.png](/files/9908ea22ca4a082b15d67ac495a62f6225c1c9ce)

İlk parça yazdırılmaz, yalnızca betiği şu komutla içe aktarmak için kullanılır `read_chunk("mycode.R")`, bu yüzden seçenek `echo=FALSE` ayarlanır. Ayrıca, betikler önbelleğe alınmamalıdır. Betik içe aktarıldıktan sonra, sonra `## ----`belirlediğiniz etiketle bir parçayı yazdırabilirsiniz. Bu durumda bu `myrcode2`.

Makaleye ait tüm kod parçalarını bir projeye koyduk ki  [Overleaf'te Açabilirsiniz](https://www.overleaf.com/project/new/template/20429?id=69894649\&templateName=Knitr+full+demo\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=) .

## Başvuru kılavuzu

**Bazı parça seçenekleri**

* `sonuçlar`. 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ın.
  * `asis` R'den gelen ham sonuçları yazdırır.
  * `hold` Çıktı sonuçlarını tutar ve bunları parçanın sonunda gönderir.
  * `hide` Sonuçları gizle.
* `echo`. R kaynak kodunun dahil edilip edilmeyeceği. Başka parametreler alabilir, `echo=2:3` yalnızca ikinci ve üçüncü satırları yazdırır; `echo=-2:-3` yalnızca ikinci ve üçüncü satırları dışlar.
* `cache`. Kod parçasının önbelleğe alınıp alınmayacağı. Olası değerler şunlardır `TRUE` ve `FALSE`
* `highlight`. Kaynak kodunun vurgulanıp vurgulanmayacağı. Olası değerler şunlardır `TRUE` ve `FALSE`
* `background`. Parçanın arka plan rengi; rgb ve HTML biçimleri kullanılabilir, varsayılan değer *"#F7F7F7"*.

## Daha fazla okuma

Daha fazla bilgi için bakınız

* [minted ile Kod Vurgulama](/latex/tr/bicimlendirme/12-code-highlighting-with-minted.md)
* [LaTeX'te renk kullanımı](/latex/tr/bicimlendirme/13-using-colors-in-latex.md)
* [LaTeX'te grafikler](/latex/tr/alana-ozgu/08-pgfplots-package.md)
* [Görseller Ekleme](/latex/tr/daha-fazla-konu/27-inserting-images.md)
* [Tablolar](/latex/tr/sekiller-ve-tablolar/01-tables.md)
* [Görsellerin ve tabloların konumlandırılması](/latex/tr/sekiller-ve-tablolar/02-positioning-images-and-tables.md)
* [TikZ paketi](/latex/tr/sekiller-ve-tablolar/05-tikz-package.md)
* [Matematiksel ifadeler](/latex/tr/matematik/01-mathematical-expressions.md)
* [şu **knitr** web sayfası](http://yihui.name/knitr/)
* [şu **knitr** paket kılavuzu](https://bitbucket.org/stat/knitr/downloads/knitr-manual.pdf)


---

# 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/latex/tr/daha-fazla-konu/29-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.
