---
title: "Diamond sizes"
date: 2022-09-12
format: html
---
```{r}
#| label: setup
#| include: false
library(tidyverse)
smaller <- diamonds |>
filter(carat <= 2.5)
```
We have data about `r nrow(diamonds)` diamonds.
Only `r nrow(diamonds) - nrow(smaller)` are larger than 2.5 carats.
The distribution of the remainder is shown below:
```{r}
#| label: plot-smaller-diamonds
#| echo: false
smaller |>
ggplot(aes(x = carat)) +
geom_freqpoly(binwidth = 0.01)
```
28 Quarto
28.1 Giriş
Quarto; kodunuzu, kodun sonuçlarını ve düz yazınızı birleştiren, veri bilimi için bütünleşik bir yazarlık çerçevesi sağlar. Quarto belgeleri bütünüyle yeniden üretilebilirdir ve PDF, Word dosyası ve sunum gibi onlarca çıktı biçimini destekler.
Quarto dosyaları üç biçimde kullanılmak üzere tasarlanmıştır:
Çözümlemenin arkasındaki koda değil sonuçlara odaklanmak isteyen karar vericilerle iletişim kurmak için.
Hem sonuçlarınızla hem bu sonuçlara nasıl ulaştığınızla (yani kodla) ilgilenen diğer veri bilimcilerle (gelecekteki hâliniz dahil!) işbirliği yapmak için.
Yalnızca ne yaptığınızı değil, ne düşündüğünüzü de kaydedebileceğiniz günümüzün laboratuvar defteri ve veri bilimi yapma ortamı olarak.
Quarto bir R paketi değil, komut satırı arayüzü aracıdır. Bu, yardımın çoğunlukla ? aracılığıyla kullanılamadığı anlamına gelir. Bu bölümü çalışırken ve gelecekte Quarto kullanırken bunun yerine Quarto belgelerine başvurmalısınız.
R Markdown kullanıcısıysanız “Quarto, R Markdown’e çok benziyor” diye düşünebilirsiniz. Haksız değilsiniz! Quarto, R Markdown ekosistemindeki birçok paketin (rmarkdown, bookdown, distill, xaringan vb.) işlevlerini tek ve tutarlı bir sistemde birleştirir; ayrıca R’ın yanı sıra Python ve Julia gibi birden çok programlama diline yerleşik destek sunar. Bir bakıma Quarto, R Markdown ekosistemini on yıl boyunca genişletip desteklerken öğrenilen her şeyi yansıtır.
28.1.1 Ön koşullar
Quarto komut satırı arayüzüne (Quarto CLI) ihtiyacınız vardır; ancak RStudio gerektiğinde kurma ve yükleme işlemlerini otomatik olarak yaptığından onu açıkça kurmanız ya da yüklemeniz gerekmez.
28.2 Quarto temelleri
Bu, .qmd uzantısına sahip bir düz metin dosyası olan Quarto dosyasıdır:
Üç önemli içerik türü barındırır:
-
---işaretleriyle çevrili, isteğe bağlı YAML üst bilgisi. -
```işaretleriyle çevrili R kodu blokları. -
# başlıkve_italik_gibi basit metin biçimlendirmeleriyle karışık metin.
Şekil 28.1, RStudio’da kodla çıktının iç içe gösterildiği defter arayüzündeki bir .qmd belgesini gösterir. Her kod bloğunu Run simgesine (bloğun üstünde oynat düğmesine benzer) tıklayarak ya da Cmd/Ctrl + Shift + Enter tuşlarına basarak çalıştırabilirsiniz. RStudio kodu çalıştırır ve sonuçları kodla birlikte satır içinde gösterir.
Grafiklerinizi ve çıktıyı belgenin içinde görmek istemiyor, RStudio’nun Console ve Plot bölmelerini kullanmayı tercih ediyorsanız Şekil 28.2 içinde gösterildiği gibi Render düğmesinin yanındaki dişli simgesine tıklayıp Chunk Output in Console seçeneğine geçebilirsiniz.
Tüm metni, kodu ve sonuçları içeren eksiksiz bir rapor üretmek için Render düğmesine tıklayın ya da Cmd/Ctrl + Shift + K tuşlarına basın. Bunu quarto::quarto_render("diamond-sizes.qmd") ile programlı olarak da yapabilirsiniz. Bu işlem raporu Şekil 28.3 içinde gösterildiği gibi Viewer bölmesinde görüntüler ve bir HTML dosyası oluşturur.
Belgeyi işlediğinizde Quarto .qmd dosyasını tüm kod bloklarını çalıştırıp kodla çıktısını içeren yeni bir Markdown (.md) belgesi oluşturan knitr’a, https://yihui.org/knitr/, gönderir. knitr’ın oluşturduğu Markdown dosyası daha sonra tamamlanmış dosyayı üretmekten sorumlu pandoc tarafından işlenir: https://pandoc.org. Bu süreç Şekil 28.4 içinde gösterilmiştir. Bu iki adımlı iş akışının avantajı, Bölüm 29 bölümünde öğreneceğiniz gibi çok çeşitli çıktı biçimleri oluşturabilmenizdir.
Kendi .qmd dosyanızı oluşturmaya başlamak için menü çubuğunda File > New File > Quarto Document… seçeneğini belirleyin. RStudio, Quarto’nun temel özelliklerinin nasıl çalıştığını hatırlatan kullanışlı içerikleri dosyanıza önceden ekleyebileceğiniz bir sihirbaz açar.
Aşağıdaki kısımlar Quarto belgesinin üç bileşenini daha ayrıntılı ele alır: Markdown metni, kod blokları ve YAML üst bilgisi.
28.2.1 Alıştırmalar
File > New File > Quarto Document seçeneğini kullanarak yeni bir Quarto belgesi oluşturun. Yönergeleri okuyun. Blokları tek tek çalıştırma alıştırması yapın. Ardından önce uygun düğmeye tıklayarak, sonra uygun klavye kısayolunu kullanarak belgeyi işleyin. Kodu değiştirip yeniden çalıştırabildiğinizi ve değişen çıktıyı görebildiğinizi doğrulayın.
Üç yerleşik biçimin her biri için yeni bir Quarto belgesi oluşturun: HTML, PDF ve Word. Üç belgeyi de işleyin. Çıktılar nasıl farklılaşıyor? Girdiler nasıl farklılaşıyor? (PDF çıktısını oluşturmak için LaTeX kurmanız gerekebilir; gerekliyse RStudio sizi yönlendirecektir.)
28.3 Görsel düzenleyici
RStudio’daki görsel düzenleyici, Quarto belgeleri yazmak için WYSIWYM arayüzü sağlar. Perde arkasında Quarto belgelerindeki (.qmd dosyalarındaki) düz yazı, düz metin dosyalarını biçimlendirmeye yönelik hafif bir kurallar kümesi olan Markdown ile yazılır. Quarto; tabloları, alıntıları, çapraz başvuruları, dipnotları, div/span öğelerini, tanım listelerini, öznitelikleri, ham HTML/TeX’i ve daha fazlasını içeren Pandoc Markdown’u (Markdown’un Quarto’nun anladığı biraz genişletilmiş sürümünü) kullanır; ayrıca kod hücrelerini çalıştırmayı ve çıktılarını satır içinde görüntülemeyi destekler. Markdown kolay okunup yazılmak üzere tasarlanmış olsa da Bölüm 28.4 bölümünde göreceğiniz gibi yeni bir sözdizimi öğrenmeyi gerektirir. Bu nedenle .qmd dosyaları gibi hesaplamalı belgelerde yeniyseniz ancak Google Docs veya MS Word gibi araçları kullanma deneyiminiz varsa RStudio’da Quarto’ya başlamanın en kolay yolu görsel düzenleyicidir.
Görsel düzenleyicide görsel, tablo, çapraz başvuru vb. eklemek için menü çubuğundaki düğmeleri ya da hemen her şeyi ekleyen ⌘ + / veya Ctrl + / kısayolunu kullanabilirsiniz. Bir satırın başındaysanız (Şekil 28.5 içinde gösterildiği gibi) kısayolu çağırmak için yalnızca / da yazabilirsiniz.
Görsel eklemek ve nasıl görüntüleneceğini özelleştirmek de görsel düzenleyiciyle kolaylaşır. Panodaki bir görseli doğrudan görsel düzenleyiciye yapıştırabilir (RStudio görselin bir kopyasını proje dizinine yerleştirip ona bağlantı verir) ya da eklemek istediğiniz görsele göz atmak veya URL’sini yapıştırmak için Insert > Figure / Image menüsünü kullanabilirsiniz. Aynı menüyle görseli yeniden boyutlandırabilir; açıklama, alternatif metin ve bağlantı ekleyebilirsiniz.
Görsel düzenleyici, onunla yazma deneyimi kazandıkça yararlı bulabileceğiniz ve burada sıralamadığımız daha birçok özelliğe sahiptir.
En önemlisi, görsel düzenleyici içeriğinizi biçimlendirilmiş olarak gösterse de perde arkasında düz Markdown biçiminde kaydeder. İçeriğinizi her iki araçla görüntüleyip düzenlemek için görsel ve kaynak düzenleyiciler arasında geçiş yapabilirsiniz.
28.3.1 Alıştırmalar
- Şekil 28.5 içindeki belgeyi görsel düzenleyiciyle yeniden oluşturun.
- Görsel düzenleyicide önce Insert menüsünü, ardından her şeyi ekleme aracını kullanarak bir kod bloğu ekleyin.
- Görsel düzenleyiciyi kullanarak aşağıdakileri nasıl yapacağınızı bulun:
- Dipnot ekleme.
- Yatay çizgi ekleme.
- Blok alıntı ekleme.
- Görsel düzenleyicide Insert > Citation seçeneğine gidin ve Welcome to the Tidyverse başlıklı makaleye 10.21105/joss.01686 DOI’sini (dijital nesne tanımlayıcısını) kullanarak alıntı ekleyin. Belgeyi işleyin ve kaynağın belgede nasıl göründüğünü inceleyin. Belgenizin YAML bölümünde nasıl bir değişiklik görüyorsunuz?
28.4 Kaynak düzenleyici
Quarto belgelerini RStudio’daki kaynak düzenleyicide, görsel düzenleyicinin yardımı olmadan da düzenleyebilirsiniz. Görsel düzenleyici Google Docs gibi araçlarda yazma deneyimi olanlara, kaynak düzenleyici ise R scriptleri veya R Markdown belgeleri yazanlara tanıdık gelecektir. Quarto sözdizimi hatalarını düz metinde yakalamak çoğu zaman daha kolay olduğundan kaynak düzenleyici bu hataları ayıklamak için de kullanışlıdır.
Aşağıdaki kılavuz, kaynak düzenleyicide Quarto belgeleri yazmak için Pandoc Markdown’un nasıl kullanılacağını gösterir.
## Text formatting
*italic* **bold** ~~strikeout~~ `code`
superscript^2^ subscript~2~
[underline]{.underline} [small caps]{.smallcaps}
## Headings
# 1st Level Header
## 2nd Level Header
### 3rd Level Header
## Lists
- Bulleted list item 1
- Item 2
- Item 2a
- Item 2b
1. Numbered list item 1
2. Item 2.
The numbers are incremented automatically in the output.
## Links and images
<http://example.com>
[linked phrase](http://example.com)
{fig-alt="Quarto logo and the word quarto spelled in small case letters"}
## Tables
| First Header | Second Header |
|--------------|---------------|
| Content Cell | Content Cell |
| Content Cell | Content Cell |
Bunları öğrenmenin en iyi yolu denemektir. Birkaç gün sürecektir; ancak kısa süre sonra doğal hâle gelecek ve üzerlerinde düşünmeniz gerekmeyecektir. Unutursanız Help > Markdown Quick Reference ile kullanışlı bir başvuru sayfasına ulaşabilirsiniz.
28.4.1 Alıştırmalar
Kısa bir özgeçmiş oluşturarak öğrendiklerinizi uygulayın. Başlık adınız olmalı ve en azından eğitim ya da iş deneyimi başlıklarını içermelidir. Her kısım işlerin/derecelerin madde işaretli listesini içermelidir. Yılı kalın yazıyla vurgulayın.
-
Kaynak düzenleyiciyi ve Markdown hızlı başvurusunu kullanarak aşağıdakileri nasıl yapacağınızı bulun:
- Dipnot ekleme.
- Yatay çizgi ekleme.
- Blok alıntı ekleme.
https://github.com/hadley/r4ds/tree/main/quarto adresindeki
diamond-sizes.qmdiçeriğini kopyalayıp yerel bir R Quarto belgesine yapıştırın. Çalıştırabildiğinizi denetleyin, ardından sıklık çokgeninin en çarpıcı özelliklerini açıklayan bir metin ekleyin.Google Docs veya MS Word’de başlıklar, köprüler ve biçimlendirilmiş metin gibi içeriklere sahip bir belge oluşturun (ya da daha önce oluşturduğunuz bir belgeyi bulun). Belgenin içeriğini kopyalayıp görsel düzenleyicideki bir Quarto belgesine yapıştırın. Ardından kaynak düzenleyiciye geçip kaynak kodunu inceleyin.
28.5 Kod blokları
Bir Quarto belgesinde kod çalıştırmak için kod bloğu eklemeniz gerekir. Bunu yapmanın üç yolu vardır:
Cmd + Option + I / Ctrl + Alt + I klavye kısayolu.
Düzenleyici araç çubuğundaki Insert düğmesi simgesi.
```{r}ve```blok sınırlayıcılarını elle yazmak.
Klavye kısayolunu öğrenmenizi öneririz. Uzun vadede size çok zaman kazandıracaktır!
Kodu artık bildiğinizi ve sevdiğinizi umduğumuz Cmd/Ctrl + Enter kısayoluyla çalıştırmayı sürdürebilirsiniz. Ancak blokların yeni bir kısayolu vardır: Bloktaki tüm kodu çalıştıran Cmd/Ctrl + Shift + Enter. Bir bloğu fonksiyon gibi düşünün. Blok görece kendi kendine yeterli olmalı ve tek bir göreve odaklanmalıdır.
Aşağıdaki kısımlar ```{r} ifadesinden, ardından isteğe bağlı blok etiketinden ve her biri kendi satırında #| ile işaretlenen çeşitli blok seçeneklerinden oluşan blok üst bilgisini açıklar.
28.5.1 Blok etiketi
Bloklara isteğe bağlı bir etiket verilebilir; örneğin:
```{r}
#| label: simple-addition
1 + 1
```#> [1] 2
Bunun üç avantajı vardır:
-
Script düzenleyicinin sol altındaki açılır kod gezginini kullanarak belirli bloklara daha kolay gidebilirsiniz:

Blokların ürettiği grafikler, başka yerlerde kullanılmalarını kolaylaştıran yararlı adlara sahip olur. Bu konu Bölüm 28.6 bölümünde ayrıntılı ele alınacaktır.
Maliyetli hesaplamaları her çalıştırmada yeniden yapmamak için önbelleğe alınmış blok ağları kurabilirsiniz. Bu konu Bölüm 28.8 bölümünde ayrıntılı ele alınacaktır.
Blok etiketleriniz kısa ancak açıklayıcı olmalı ve boşluk içermemelidir. Sözcükleri ayırmak için alt çizgi (_) yerine kısa çizgi (-) kullanmanızı ve blok etiketlerinde diğer özel karakterlerden kaçınmanızı öneririz.
Genel olarak bloğunuzu istediğiniz gibi etiketleyebilirsiniz; ancak özel davranış kazandıran bir blok adı vardır: setup. Defter kipindeyken setup adlı blok, diğer kodlardan önce bir kez otomatik olarak çalıştırılır.
Ayrıca blok etiketleri yinelenemez. Her blok etiketi benzersiz olmalıdır.
28.5.2 Blok seçenekleri
Blok çıktısı, blok üst bilgisine sağlanan alanlar olan seçeneklerle özelleştirilebilir. Knitr, kod bloklarınızı özelleştirmek için kullanabileceğiniz yaklaşık 60 seçenek sağlar. Burada sık kullanacağınız en önemli blok seçeneklerini ele alacağız. Tam listeyi https://yihui.org/knitr/options adresinde görebilirsiniz.
En önemli seçenek kümesi, kod bloğunuzun çalıştırılıp çalıştırılmayacağını ve tamamlanan rapora hangi sonuçların ekleneceğini denetler:
eval: falsekodun değerlendirilmesini önler. (Kod çalıştırılmazsa elbette hiçbir sonuç üretilmez.) Örnek kodu göstermek veya her satırı yoruma almadan büyük bir kod bloğunu devre dışı bırakmak için kullanışlıdır.include: falsekodu çalıştırır, ancak son belgede kodu ya da sonuçları göstermez. Raporunuzu kalabalıklaştırmasını istemediğiniz kurulum kodu için kullanın.echo: false, sonuçları değil kodu tamamlanan dosyadan gizler. Temelindeki R kodunu görmek istemeyen kişilere yönelik raporlar yazarken kullanın.message: falseveyawarning: false, iletilerin ya da uyarıların tamamlanan dosyada görünmesini önler.results: hideyazdırılan çıktıyı,fig-show: hideise grafikleri gizler.error: true, kod hata döndürse bile işleme sürecinin sürmesini sağlar. Raporunuzun son sürümünde bunu nadiren istersiniz; ancak.qmddosyanızın içinde tam olarak neler olduğunu hata ayıklayarak belirlemeniz gerekiyorsa çok kullanışlıdır. R öğretiyor ve kasıtlı olarak hata eklemek istiyorsanız da yararlıdır. Varsayılanerror: false, belgede tek bir hata olduğunda işleme sürecinin başarısız olmasına neden olur.
Bu blok seçeneklerinin her biri blok üst bilgisine #| sonrasında eklenir. Örneğin aşağıdaki blokta eval false olarak ayarlandığından sonuç yazdırılmaz.
```{r}
#| label: simple-multiplication
#| eval: false
2 * 2
```Aşağıdaki tablo her seçeneğin hangi çıktı türlerini gizlediğini özetler:
| Seçenek | Kodu çalıştır | Kodu göster | Çıktı | Grafikler | İletiler | Uyarılar |
|---|---|---|---|---|---|---|
eval: false |
X | X | X | X | X | |
include: false |
X | X | X | X | X | |
echo: false |
X | |||||
results: hide |
X | |||||
fig-show: hide |
X | |||||
message: false |
X | |||||
warning: false |
X |
28.5.3 Genel seçenekler
knitr ile daha fazla çalıştıkça bazı varsayılan blok seçeneklerinin ihtiyaçlarınıza uymadığını ve onları değiştirmek istediğinizi keşfedeceksiniz.
Tercih ettiğiniz seçenekleri belge YAML’ında execute altına ekleyerek bunu yapabilirsiniz. Örneğin kodunuzu değil yalnızca sonuçlarınızla anlatınızı görmesi gereken bir kitle için rapor hazırlıyorsanız belge düzeyinde echo: false ayarlayabilirsiniz. Bu, kodu varsayılan olarak gizler ve yalnızca özellikle göstermeyi seçtiğiniz (echo: true kullanan) blokları gösterir. message: false ve warning: false ayarlarını kullanmayı düşünebilirsiniz; ancak son belgede hiçbir ileti görmeyeceğiniz için bu, problemlerde hata ayıklamayı zorlaştırır.
title: "Raporum"
execute:
echo: falseQuarto çok dilli olacak biçimde tasarlandığından (R’ın yanı sıra Python, Julia vb. dillerle çalışır) knitr seçeneklerinin tümü belge yürütme düzeyinde kullanılamaz. Bunlardan bazıları yalnızca knitr ile çalışır; Quarto’nun diğer dillerde kod çalıştırmak için kullandığı Jupyter gibi motorlarla çalışmaz. Bununla birlikte bu seçenekleri belgeniz için knitr alanının opts_chunk bölümü altında genel seçenek olarak yine de ayarlayabilirsiniz. Örneğin kitap ve öğretici yazarken şunları ayarlarız:
title: "Öğretici"
knitr:
opts_chunk:
comment: "#>"
collapse: trueBu, tercih ettiğimiz yorum biçimlendirmesini kullanır ve kodla çıktının birbirine yakın tutulmasını sağlar.
28.5.4 Satır içi kod
R kodunu Quarto belgesine gömmenin başka bir yolu daha vardır: `r ` ile doğrudan metnin içine yerleştirmek. Metinde verilerinizin özelliklerinden söz ediyorsanız bu çok kullanışlı olabilir. Örneğin bölümün başında kullanılan örnek belgede şunlar vardı:
`r nrow(diamonds)`elmas hakkında verimiz var. Yalnızca`r nrow(diamonds) - nrow(smaller)`tanesi 2,5 karattan büyüktür. Geri kalanların dağılımı aşağıda gösterilmiştir:
Rapor işlendiğinde bu hesaplamaların sonuçları metne eklenir:
53940 elmas hakkında verimiz var. Yalnızca 126 tanesi 2,5 karattan büyüktür. Geri kalanların dağılımı aşağıda gösterilmiştir:
Metne sayı eklerken format() en iyi dostunuzdur. Gereksiz derecede yüksek duyarlılıkta yazdırmamak için digits sayısını ve sayıları daha kolay okunur kılmak için big.mark işaretini ayarlamanızı sağlar. Bunları bir yardımcı fonksiyonda birleştirebilirsiniz:
comma <- function(x) format(x, digits = 2, big.mark = ",")
comma(3452345)
#> [1] "3,452,345"
comma(.12358124331)
#> [1] "0.12"28.5.5 Alıştırmalar
Elmas boyutlarının kesim, renk ve berraklığa göre nasıl değiştiğini inceleyen bir kısım ekleyin. R bilmeyen biri için rapor yazdığınızı varsayın ve her blokta
echo: falseayarlamak yerine genel bir seçenek kullanın.diamond-sizes.qmddosyasını https://github.com/hadley/r4ds/tree/main/quarto adresinden indirin. En büyük 20 elması açıklayan ve en önemli özniteliklerini gösteren bir tablo içeren kısım ekleyin.Düzgün biçimlendirilmiş çıktı üretmek için
diamonds-sizes.qmddosyasınılabel_comma()kullanacak biçimde değiştirin. Ayrıca 2,5 karattan büyük elmasların yüzdesini ekleyin.
28.6 Şekiller
Quarto belgesindeki şekiller gömülü (örneğin PNG ya da JPEG dosyası) olabilir veya bir kod bloğunun sonucu olarak üretilebilir.
Harici bir dosyadaki görseli gömmek için RStudio’daki görsel düzenleyicinin Insert menüsünden Figure / Image seçeneğini belirleyebilirsiniz. Bu, eklemek istediğiniz görsele göz atabileceğiniz, alternatif metin ya da açıklama ekleyebileceğiniz ve boyutunu ayarlayabileceğiniz bir menü açar. Görsel düzenleyicide panodaki bir görseli doğrudan belgenize de yapıştırabilirsiniz; RStudio görselin bir kopyasını proje klasörünüze yerleştirir.
Şekil üreten (ggplot() çağrısı içeren gibi) bir kod bloğu eklerseniz ortaya çıkan şekil Quarto belgenize otomatik olarak eklenir.
28.6.1 Şekil boyutlandırma
Quarto’daki grafiklerin en büyük zorluğu şekilleri doğru boyut ve biçime getirmektir. Şekil boyutlandırmayı denetleyen beş temel seçenek vardır: fig-width, fig-height, fig-asp, out-width ve out-height. Görsel boyutlandırma zordur; çünkü iki boyut (R’ın oluşturduğu şeklin boyutu ve çıktı belgesine eklendiği boyut) ve boyutu belirtmenin birden çok yolu (yükseklik, genişlik ve en-boy oranı; üçünden ikisini seçin) vardır.
Beş seçenekten üçünü öneriyoruz:
Grafikler tutarlı genişliğe sahip olduklarında estetik açıdan daha hoş görünme eğilimindedir. Bunu sağlamak için varsayılanlarda
fig-width: 6(6 inç) vefig-asp: 0.618(altın oran) ayarlayın. Ardından tek tek bloklarda yalnızcafig-aspdeğerini değiştirin.-
Çıktı boyutunu
out-widthile denetleyin ve çıktı belgesinin gövde genişliğinin yüzdesi olarak ayarlayın.out-width: "70%"vefig-align: centerayarlarını öneriyoruz.Bu, grafiklere çok fazla yer kaplamadan nefes alacak alan verir.
Birden çok grafiği tek satıra koymak için
layout-ncoldeğerini iki grafik için 2, üç grafik için 3 vb. olarak ayarlayın. Bu,layout-ncol2 olduğunda her grafiğinout-widthdeğerini fiilen “%50”, 3 olduğunda “%33” vb. olarak ayarlar. Göstermeye çalıştığınız şeye bağlı olarak (verileri ya da grafik çeşitlerini göstermek gibi) aşağıda ele alındığı üzerefig-widthdeğerini de değiştirebilirsiniz.
Grafiğinizdeki metni okumak için gözlerinizi kısmak zorunda kalıyorsanız fig-width değerini değiştirmeniz gerekir. fig-width, şeklin son belgede işlendiği boyuttan büyükse metin çok küçük; küçükse metin çok büyük olur. fig-width ile belgenizdeki son genişlik arasındaki doğru oranı bulmak için çoğu zaman biraz deneme yapmanız gerekir. İlkeyi göstermek için aşağıdaki üç grafiğin fig-width değerleri sırasıyla 4, 6 ve 8’dir:



Yazı tipi boyutunun tüm şekillerde tutarlı olduğundan emin olmak istiyorsanız out-width ayarladığınız her seferde varsayılan out-width ile aynı oranı korumak için fig-width değerini de ayarlamanız gerekir. Örneğin varsayılan fig-width değeriniz 6 ve out-width değeriniz “%70” ise out-width: "50%" ayarladığınızda fig-width değerini 4,3 (6 * 0,5 / 0,7) olarak ayarlamalısınız.
Şekil boyutlandırma ve ölçekleme hem sanat hem bilimdir; doğru sonucu elde etmek iterasyonlu bir deneme-yanılma yaklaşımı gerektirebilir. Grafik ölçeklemesini denetleme blog yazısından şekil boyutlandırma hakkında daha fazla bilgi edinebilirsiniz.
28.6.2 Diğer önemli seçenekler
Bu kitapta olduğu gibi kod ile metni bir arada kullanırken grafiklerin koddan sonra gösterilmesi için fig-show: hold ayarını kullanabilirsiniz. Bu ayarın hoş bir yan etkisi de büyük kod bloklarını açıklamalarıyla birlikte daha küçük parçalara ayırmaya sizi teşvik etmesidir.
Grafiğe açıklama eklemek için fig-cap seçeneğini kullanın. Quarto’da bu seçenek şekli satır içi olmaktan çıkarıp “yüzen” bir şekle dönüştürür.
PDF çıktısı üretiyorsanız varsayılan grafik türü PDF’dir. PDF’ler yüksek kaliteli vektör grafikleri olduğu için bu iyi bir varsayılandır. Ancak binlerce noktayı görüntülerken çok büyük ve yavaş grafikler oluşturabilirler. Bu durumda PNG kullanımını zorunlu kılmak için fig-format: "png" ayarını kullanın. PNG’lerin kalitesi biraz daha düşüktür ancak dosya boyutları çok daha küçüktür.
Diğer blokları düzenli olarak etiketlemeseniz bile şekil üreten kod bloklarını adlandırmak iyi bir fikirdir. Blok etiketi, grafiğin diskteki dosya adını oluşturmak için kullanılır. Bu nedenle blokları adlandırmak grafikleri bulmayı ve başka durumlarda yeniden kullanmayı çok kolaylaştırır (örneğin tek bir grafiği hızla bir e-postaya eklemek istediğinizde).
28.6.3 Alıştırmalar
-
diamond-sizes.qmddosyasını görsel düzenleyicide açın, bir elmas görseli bulun, kopyalayın ve belgeye yapıştırın. Görsele çift tıklayıp bir açıklama ekleyin. Görseli yeniden boyutlandırın ve belgenizi işleyin. Görselin geçerli çalışma dizininize nasıl kaydedildiğini gözlemleyin. -
diamond-sizes.qmdiçindeki grafik üreten kod bloğunun etiketinifig-önekiyle başlayacak biçimde düzenleyin vefig-capblok seçeneğiyle şekle bir açıklama ekleyin. Ardından kod bloğunun üzerindeki metni düzenleyerek Insert > Cross Reference aracılığıyla şekle bir çapraz başvuru ekleyin. - Aşağıdaki blok seçeneklerini sırayla uygulayarak şeklin boyutunu değiştirin, her seferinde belgenizi işleyin ve şeklin nasıl değiştiğini açıklayın.
fig-width: 10fig-height: 3out-width: "100%"out-width: "20%"
28.7 Tablolar
Şekillerde olduğu gibi Quarto belgesine iki tür tablo ekleyebilirsiniz. Bunlar doğrudan Quarto belgesinde oluşturduğunuz markdown tabloları (Insert Table menüsünü kullanarak) veya bir kod bloğunun sonucunda üretilen tablolar olabilir. Bu bölümde ikincisine, yani hesaplama yoluyla üretilen tablolara odaklanacağız.
Quarto varsayılan olarak veri çerçevelerini ve matrisleri konsolda göreceğiniz biçimde yazdırır:
mtcars[1:5, ]
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#> Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#> Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
#> Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
#> Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2Verilerin ek biçimlendirmeyle görüntülenmesini tercih ediyorsanız knitr::kable() fonksiyonunu kullanabilirsiniz. Aşağıdaki kod Tablo 28.1 tablosunu üretir.
knitr::kable(mtcars[1:5, ], )| mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Mazda RX4 | 21.0 | 6 | 160 | 110 | 3.90 | 2.620 | 16.46 | 0 | 1 | 4 | 4 |
| Mazda RX4 Wag | 21.0 | 6 | 160 | 110 | 3.90 | 2.875 | 17.02 | 0 | 1 | 4 | 4 |
| Datsun 710 | 22.8 | 4 | 108 | 93 | 3.85 | 2.320 | 18.61 | 1 | 1 | 4 | 1 |
| Hornet 4 Drive | 21.4 | 6 | 258 | 110 | 3.08 | 3.215 | 19.44 | 1 | 0 | 3 | 1 |
| Hornet Sportabout | 18.7 | 8 | 360 | 175 | 3.15 | 3.440 | 17.02 | 0 | 0 | 3 | 2 |
Tabloyu başka hangi yollarla özelleştirebileceğinizi görmek için ?knitr::kable belgelendirmesini okuyun. Daha kapsamlı özelleştirmeler için gt, huxtable, reactable, kableExtra, xtable, stargazer, pander, tables ve ascii paketlerini değerlendirin. Bu paketlerin her biri R kodundan biçimlendirilmiş tablolar döndürmek için bir araç takımı sunar.
28.7.1 Alıştırmalar
-
diamond-sizes.qmddosyasını görsel düzenleyicide açın, bir kod bloğu ekleyin vediamondsveri çerçevesinin ilk 5 satırını gösteren bir tabloyuknitr::kable()ile ekleyin. - Aynı tabloyu bu kez
gt::gt()ile görüntüleyin. -
tbl-önekiyle başlayan bir blok etiketi ekleyin vetbl-capblok seçeneğiyle tabloya bir açıklama ekleyin. Ardından kod bloğunun üzerindeki metni düzenleyerek Insert > Cross Reference aracılığıyla tabloya bir çapraz başvuru ekleyin.
28.8 Önbelleğe alma
Normalde bir belgenin her işlenişi tamamen temiz bir başlangıç yapar. Bu, önemli her hesaplamayı kodla kaydettiğinizden emin olduğu için yeniden üretilebilirlik açısından harikadır. Ancak uzun süren hesaplamalarınız varsa zahmetli olabilir. Çözüm cache: true ayarıdır.
Standart YAML seçeneklerini kullanarak belgedeki tüm hesaplamaların sonuçlarını önbelleğe almak üzere Knitr önbelleğini belge düzeyinde etkinleştirebilirsiniz:
---
title: "Belgem"
execute:
cache: true
---Belirli bir bloktaki hesaplama sonuçlarını önbelleğe almak için önbelleği blok düzeyinde de etkinleştirebilirsiniz:
```{r}
#| cache: true
# uzun süren hesaplamanın kodu...
```Bu ayar etkinleştirildiğinde bloğun çıktısı diskte özel olarak adlandırılmış bir dosyaya kaydedilir. Sonraki çalıştırmalarda knitr kodun değişip değişmediğini denetler; değişmediyse önbelleğe alınmış sonuçları yeniden kullanır.
Önbellek sistemi dikkatle kullanılmalıdır; çünkü varsayılan olarak yalnızca kodu temel alır, kodun bağımlılıklarını değil. Örneğin burada processed_data bloğu raw-data bloğuna bağlıdır:
``` {{r}}
#| label: raw-data
#| cache: true
rawdata <- readr::read_csv("a_very_large_file.csv")
```
``` {{r}}
#| label: processed_data
#| cache: true
processed_data <- rawdata |>
filter(!is.na(import_var)) |>
mutate(new_variable = complicated_transformation(x, y, z))
```
processed_data bloğunu önbelleğe almak, dplyr veri hattı değiştiğinde bloğun yeniden çalıştırılacağı; ancak read_csv() çağrısı değiştiğinde çalıştırılmayacağı anlamına gelir. Bu sorunu dependson blok seçeneğiyle önleyebilirsiniz:
``` {{r}}
#| label: processed-data
#| cache: true
#| dependson: "raw-data"
processed_data <- rawdata |>
filter(!is.na(import_var)) |>
mutate(new_variable = complicated_transformation(x, y, z))
```
dependson, önbelleğe alınan bloğun bağlı olduğu tüm bloklardan oluşan bir karakter vektörü içermelidir. Knitr, bağımlılıklardan birinin değiştiğini algıladığında önbelleğe alınan bloğun sonuçlarını günceller.
Knitr önbelleği yalnızca .qmd dosyasındaki değişiklikleri izlediği için a_very_large_file.csv değiştiğinde blokların güncellenmeyeceğini unutmayın. Bu dosyadaki değişiklikleri de izlemek istiyorsanız cache.extra seçeneğini kullanabilirsiniz. Bu seçenek, değiştiği her seferinde önbelleği geçersiz kılacak herhangi bir R ifadesi olabilir. Bu amaçla kullanılabilecek iyi bir fonksiyon file.mtime()’dır: dosyanın en son ne zaman değiştirildiğini döndürür. Ardından şunu yazabilirsiniz:
``` {{r}}
#| label: raw-data
#| cache: true
#| cache.extra: !expr file.mtime("a_very_large_file.csv")
rawdata <- readr::read_csv("a_very_large_file.csv")
```
David Robinson’ın tavsiyesine uyarak bu blokları adlandırdık: her blok, oluşturduğu ana nesnenin adını taşıyor. Bu yaklaşım dependson tanımını anlamayı kolaylaştırır.
Önbelleğe alma stratejileriniz giderek karmaşıklaştıkça tüm önbelleklerinizi knitr::clean_cache() ile düzenli olarak temizlemek iyi bir fikirdir.
28.8.1 Alıştırmalar
-
dbloğununcvebbloklarına,bilecbloklarının daabloğuna bağlı olduğu bir blok ağı kurun. Her bloğunlubridate::now()sonucunu yazdırmasını sağlayın,cache: trueayarını kullanın ve ardından önbelleğe alma konusundaki anlayışınızı sınayın.
28.9 Sorun giderme
Artık etkileşimli bir R ortamında olmadığınız ve bazı yeni yöntemler öğrenmeniz gerektiği için Quarto belgelerindeki sorunları gidermek zor olabilir. Ayrıca hata, Quarto belgesinin kendisindeki sorunlardan veya belgedeki R kodundan kaynaklanabilir.
Kod blokları içeren belgelerde sık rastlanan hatalardan biri yinelenen blok etiketleridir; özellikle iş akışınız kod bloklarını kopyalayıp yapıştırmayı içeriyorsa bu sorun çok yaygındır. Sorunu çözmek için yinelenen etiketlerden birini değiştirmeniz yeterlidir.
Hatalar belgedeki R kodundan kaynaklanıyorsa her zaman ilk denemeniz gereken şey sorunu etkileşimli bir oturumda yeniden oluşturmaktır. R’yi yeniden başlatın; ardından Code menüsündeki Run Region bölümünden veya Ctrl + Alt + R klavye kısayoluyla “Run All Chunks” komutunu çalıştırın. Şanslıysanız sorun yeniden oluşur ve neler olduğunu etkileşimli olarak çözebilirsiniz.
Bu işe yaramazsa etkileşimli ortamınız ile Quarto ortamı arasında farklı bir şey olmalıdır. Olasılıkları sistematik biçimde araştırmanız gerekir. En sık rastlanan fark çalışma dizinidir: Bir Quarto belgesinin çalışma dizini, belgenin bulunduğu dizindir. Bir bloğa getwd() ekleyerek çalışma dizininin beklediğiniz dizin olup olmadığını denetleyin.
Ardından hataya yol açabilecek her şeyi düşünün. Bunların R ve Quarto oturumlarınızda aynı olup olmadığını sistematik biçimde denetlemeniz gerekir. Bunu yapmanın en kolay yolu, soruna neden olan blokta error: true ayarını kullanmak ve ardından ayarların beklediğiniz gibi olduğunu print() ve str() ile denetlemektir.
28.10 YAML üst bilgisi
YAML üst bilgisinin parametrelerini değiştirerek “belgenin tamamına” ilişkin daha birçok ayarı denetleyebilirsiniz. YAML’ın açılımını merak edebilirsiniz: “YAML Ain’t Markup Language” (YAML bir işaretleme dili değildir). İnsanların kolayca okuyup yazabileceği biçimde hiyerarşik verileri temsil etmek için tasarlanmıştır. Quarto, çıktının pek çok ayrıntısını denetlemek için YAML’ı kullanır. Burada üç konuyu ele alacağız: kendi kendine yeterli belgeler, belge parametreleri ve kaynakçalar.
28.10.1 Kendi kendine yeterli belgeler
HTML belgelerinin genellikle çeşitli dış bağımlılıkları (ör. görseller, CSS stil sayfaları, JavaScript vb.) vardır. Quarto varsayılan olarak bu bağımlılıkları .qmd dosyanızla aynı dizindeki bir _files klasörüne yerleştirir. HTML dosyasını bir barındırma platformunda (ör. QuartoPub, https://quartopub.com/) yayımlarsanız bu dizindeki bağımlılıklar belgenizle birlikte yayımlanır ve dolayısıyla yayımlanan raporda kullanılabilir. Ancak raporu bir çalışma arkadaşınıza e-postayla göndermek istiyorsanız tüm bağımlılıklarını içine gömen, tek parça ve kendi kendine yeterli bir HTML belgesini tercih edebilirsiniz. Bunu embed-resources seçeneğini belirterek yapabilirsiniz:
format:
html:
embed-resources: trueOrtaya çıkan dosya kendi kendine yeterli olur; tarayıcıda doğru biçimde görüntülenmesi için dış dosyalara veya internet erişimine ihtiyaç duymaz.
28.10.2 Parametreler
Quarto belgeleri, değerleri raporu işlerken ayarlanabilen bir veya daha fazla parametre içerebilir. Parametreler, aynı raporu çeşitli temel girdiler için farklı değerlerle yeniden işlemek istediğinizde kullanışlıdır. Örneğin şube bazında satış raporları, öğrenci bazında sınav sonuçları veya ülke bazında demografik özetler üretiyor olabilirsiniz. Bir veya daha fazla parametre tanımlamak için params alanını kullanın.
Bu örnek, hangi otomobil sınıfının görüntüleneceğini belirlemek için my_class parametresini kullanır:
---
format: html
params:
my_class: "suv"
---
```{r}
#| label: setup
#| include: false
library(tidyverse)
class <- mpg |> filter(class == params$my_class)
```
# Fuel economy for `r params$my_class`s
```{r}
#| message: false
ggplot(class, aes(x = displ, y = hwy)) +
geom_point() +
geom_smooth(se = FALSE)
```
Gördüğünüz gibi parametreler, kod bloklarında params adlı salt okunur bir liste olarak kullanılabilir.
Atomik vektörleri doğrudan YAML üst bilgisine yazabilirsiniz. Parametre değerinin önüne !expr getirerek herhangi bir R ifadesini de çalıştırabilirsiniz. Bu, tarih/saat parametrelerini belirtmenin iyi bir yoludur.
params:
start: !expr lubridate::ymd("2015-01-01")
snapshot: !expr lubridate::ymd_hms("2015-01-01 12:30:00")28.10.3 Kaynakçalar ve alıntılar
Quarto, çeşitli stillerde alıntıları ve kaynakçayı otomatik olarak oluşturabilir. Bir Quarto belgesine alıntı ve kaynakça eklemenin en kolay yolu RStudio’daki görsel düzenleyiciyi kullanmaktır.
Görsel düzenleyiciyi kullanarak alıntı eklemek için Insert > Citation yolunu izleyin. Alıntılar çeşitli kaynaklardan eklenebilir:
DOI (Dijital Nesne Tanımlayıcısı) referansları.
Kişisel veya grup Zotero kütüphaneleri.
Belgenizin kaynakçası (belgenizin dizinindeki bir
.bibdosyası)
Görsel mod arka planda alıntılar için standart Pandoc markdown gösterimini (ör. [@citation]) kullanır.
İlk üç yöntemden biriyle alıntı eklerseniz görsel düzenleyici sizin için otomatik olarak bir bibliography.bib dosyası oluşturur ve referansı bu dosyaya ekler. Ayrıca belge YAML’ına bir bibliography alanı ekler. Daha fazla referans ekledikçe bu dosya onların alıntı kayıtlarıyla doldurulur. Dosyayı BibLaTeX, BibTeX, EndNote ve Medline gibi yaygın kaynakça biçimlerini kullanarak doğrudan da düzenleyebilirsiniz.
Kaynak düzenleyicide .qmd dosyanızın içinde alıntı oluşturmak için '\@' + kaynakça dosyasındaki alıntı tanımlayıcısı biçiminde bir anahtar kullanın. Ardından alıntıyı köşeli parantez içine alın. İşte birkaç örnek:
Birden çok alıntıyı `;` ile ayırın: Örnek metin [@smith04; @doe99].
Köşeli parantezlerin içine istediğiniz açıklamayı ekleyebilirsiniz:
Örnek metin [bkz. @doe99, ss. 33-35; ayrıca @smith04, böl. 1].
Metin içi alıntı oluşturmak için köşeli parantezleri kaldırın: @smith04
şunu söyler veya @smith04 [s. 33] şunu söyler.
Yazarın adını gizlemek için alıntının önüne `-` ekleyin:
Smith şunu söyler [-@smith04].Quarto dosyanızı işlerken bir kaynakça oluşturur ve bunu belgenizin sonuna ekler. Kaynakça, kaynakça dosyanızdaki alıntı yapılmış her referansı içerir ancak bir bölüm başlığı içermez. Bu nedenle dosyayı kaynakça için # Kaynaklar veya # Kaynakça gibi bir bölüm başlığıyla bitirmek yaygın bir uygulamadır.
csl alanında bir CSL (alıntı stili dili) dosyasına başvurarak alıntılarınızın ve kaynakçanızın stilini değiştirebilirsiniz:
bibliography: rmarkdown.bib
csl: apa.cslKaynakça alanında olduğu gibi csl alanınız da dosyanın yolunu içermelidir. Burada csl dosyasının .qmd dosyasıyla aynı dizinde olduğunu varsayıyoruz. Yaygın kaynakça stillerine ait CSL stil dosyalarını bulmak için https://github.com/citation-style-language/styles iyi bir kaynaktır.
28.11 İş akışı
Daha önce, konsolda etkileşimli olarak çalışıp işe yarayan kodu script düzenleyicide kaydettiğiniz temel bir R kodu kaydetme iş akışını ele almıştık. Quarto, konsol ile script düzenleyiciyi bir araya getirerek etkileşimli keşif ile kodu uzun vadeli kaydetme arasındaki sınırları bulanıklaştırır. Bir blok içinde hızla yineleme yapabilir; Cmd/Ctrl + Shift + Enter ile kodu düzenleyip yeniden çalıştırabilirsiniz. Sonuçtan memnun kaldığınızda ilerleyip yeni bir blok başlatırsınız.
Quarto, düz yazı ile kodu sıkı biçimde bütünleştirdiği için de önemlidir. Kod geliştirmenize ve düşüncelerinizi kaydetmenize olanak tanıdığından harika bir analiz defteridir. Bir analiz defteri, doğa bilimlerindeki klasik laboratuvar defteriyle aynı amaçların çoğunu paylaşır. Analiz defteri:
Ne yaptığınızı ve neden yaptığınızı kaydeder. Hafızanız ne kadar güçlü olursa olsun yaptıklarınızı kaydetmezseniz önemli ayrıntıları unuttuğunuz bir zaman gelecektir. Unutmamak için bunları yazın!
Titiz düşünmeyi destekler. İlerlerken düşüncelerinizi kaydeder ve üzerlerinde düşünmeye devam ederseniz güçlü bir analiz ortaya koyma olasılığınız artar. Bu ayrıca analizinizi başkalarıyla paylaşmak üzere yazıya dökerken size zaman kazandırır.
Başkalarının çalışmanızı anlamasına yardımcı olur. Veri analizini tek başınıza yapmanız nadirdir; çoğu zaman bir ekibin parçası olarak çalışırsınız. Laboratuvar defteri, çalışma veya laboratuvar arkadaşlarınızla yalnızca ne yaptığınızı değil, neden yaptığınızı da paylaşmanıza yardımcı olur.
Laboratuvar defterlerini etkili kullanmaya ilişkin iyi tavsiyelerin çoğu analiz defterlerine de uyarlanabilir. Aşağıdaki ipuçlarını oluştururken kendi deneyimlerimizden ve Colin Purrington’ın laboratuvar defterleri hakkındaki tavsiyelerinden (https://colinpurrington.com/tips/lab-notebooks) yararlandık:
Her defterin açıklayıcı bir başlığa, anlamlı bir dosya adına ve analizin amaçlarını kısaca açıklayan bir ilk paragrafa sahip olduğundan emin olun.
-
Defter üzerinde çalışmaya başladığınız tarihi kaydetmek için YAML üst bilgisindeki tarih alanını kullanın:
date: 2016-08-23Belirsizlik olmaması için ISO8601 YYYY-AA-GG biçimini kullanın. Tarihleri normalde böyle yazmasanız bile bu biçimi kullanın!
Bir analiz fikrine çok zaman harcadıktan sonra fikrin çıkmaza girdiğini anlarsanız onu silmeyin! Neden işe yaramadığına ilişkin kısa bir not yazıp defterde bırakın. Bu, gelecekte analize döndüğünüzde aynı çıkmaza yeniden girmenizi önler.
Genellikle veri girişini R dışında yapmak daha iyidir. Ancak küçük bir veri parçasını kaydetmeniz gerekiyorsa
tibble::tribble()kullanarak açıkça düzenleyin.Bir veri dosyasında hata bulursanız dosyayı asla doğrudan değiştirmeyin; bunun yerine değeri düzelten kod yazın. Düzeltmeyi neden yaptığınızı açıklayın.
Günlük çalışmanızı bitirmeden önce defteri işleyebildiğinizden emin olun. Önbelleğe alma kullanıyorsanız önbellekleri temizlemeyi unutmayın. Böylece kod hâlâ zihninizde tazeyken sorunları düzeltebilirsiniz.
Kodunuzun uzun vadede yeniden üretilebilir olmasını (yani gelecek ay veya gelecek yıl dönüp çalıştırabilmeyi) istiyorsanız kodun kullandığı paketlerin sürümlerini izlemeniz gerekir. Titiz bir yaklaşım, paketleri proje dizininizde saklayan renv’i (https://rstudio.github.io/renv/index.html) kullanmaktır. Hızlı ve pratik bir çözüm ise
sessionInfo()çalıştıran bir blok eklemektir. Bu, paketlerinizi bugünkü hâlleriyle kolayca yeniden oluşturmanızı sağlamaz ama en azından hangi sürümler olduklarını bilirsiniz.Kariyeriniz boyunca çok ama çok sayıda analiz defteri oluşturacaksınız. Gelecekte yeniden bulabilmek için bunları nasıl düzenleyeceksiniz? Defterleri ayrı projelerde saklamanızı ve iyi bir adlandırma düzeni geliştirmenizi öneririz.
28.12 Özet
Bu bölümde kodunuzu ve düz yazınızı tek bir yerde içeren, yeniden üretilebilir hesaplamalı belgeleri yazmak ve yayımlamak için Quarto’yu tanıttık. RStudio’da görsel veya kaynak düzenleyiciyle Quarto belgeleri yazmayı, kod bloklarının nasıl çalıştığını ve seçeneklerinin nasıl özelleştirileceğini, Quarto belgelerine şekil ve tablo eklemeyi ve hesaplamaları önbelleğe alma seçeneklerini öğrendiniz. Ayrıca kendi kendine yeterli ya da parametreli belgeler oluşturmak ve alıntılarla kaynakça eklemek için YAML üst bilgisi seçeneklerini ayarlamayı öğrendiniz. Bazı sorun giderme ve iş akışı ipuçları da sunduk.
Bu giriş Quarto’yu kullanmaya başlamanız için yeterli olsa da öğrenilecek daha çok şey var. Quarto hâlâ görece genç ve hızla gelişiyor. Yenilikleri takip etmek için en iyi yer resmî Quarto web sitesidir: https://quarto.org.
Burada ele almadığımız iki önemli konu var: iş birliği ve fikirlerinizi diğer insanlara doğru biçimde aktarmanın ayrıntıları. İş birliği modern veri biliminin hayati bir parçasıdır; Git ve GitHub gibi sürüm kontrol araçlarını kullanarak işinizi çok kolaylaştırabilirsiniz. Jenny Bryan’ın R kullanıcıları için hazırladığı kullanıcı dostu Git ve GitHub giriş kitabı “Happy Git with R”ı öneririz. Kitaba internetten ücretsiz erişebilirsiniz: https://happygitwithr.com.
Analizinizin sonuçlarını açıkça iletmek için gerçekte ne yazmanız gerektiğine de değinmedik. Yazınızı geliştirmek için Joseph M. Williams ile Joseph Bizup’ın Style: Lessons in Clarity and Grace ya da George Gopen’ın The Sense of Structure: Writing from the Reader’s Perspective kitabını okumanızı önemle öneririz. Her iki kitap da cümlelerin ve paragrafların yapısını anlamanıza yardımcı olur ve yazınızı daha açık hâle getirecek araçlar sunar. (Bu kitapların yenileri oldukça pahalıdır ancak birçok İngilizce dersinde kullanıldıkları için uygun fiyatlı ikinci el kopyaları bolca bulunur.) George Gopen’ın https://www.georgegopen.com/litigation-articles.html adresinde yazma üzerine bir dizi kısa makalesi de vardır. Bu makaleler avukatlara yöneliktir ancak neredeyse tamamı veri bilimciler için de geçerlidir.