R'da ggplot2 Kullanarak Saçılım Grafiği Oluşturma Örneği

⚡ Akıllı Özet

R'da ggplot2 kullanarak dağılım grafiği oluşturmak, geom_point() fonksiyonu ile iki sürekli değişkeni x ve y eksenlerine eşler. Bu kılavuz, gruplandırmayı kapsamaktadır.ping Renk, logaritma dönüşümleri, uydurulmuş regresyon çizgileri, etiketler, bölümlendirme, üst üste bindirme düzeltmeleri, ölçekler, temalar ve kaydetme gibi özelliklerle düzenleme yapılabilir.

  • 📍 Temel Sözdizimi: ggplot(mtcars, aes(x = drat, y = mpg)) + geom_point() verilerden ve haritadan grafiği oluşturur.pingve geometri.
  • 🎨 Grup Boyama: `geom_point()` fonksiyonu içindeki `aes(color = factor(gear))` ifadesi, noktaları her faktör seviyesi için tek bir renge ayırır.
  • 📈 Trend Çizgileri: stat_smooth(method = “lm”) komutu, uydurulmuş bir regresyon doğrusunu üst üste bindirir ve se = FALSE komutu güven aralığını kaldırır.
  • 🗂️ Yönlendirme: facet_wrap() fonksiyonu, her seriyi tek bir grafiğe sıkıştırmak yerine, paylaşılan bir ölçekte grup başına bir panel çizer.
  • 🔁 Aşırı çizim: İşaretleyiciler üst üste yığıldığında alfa değerini düşürün, noktaları titreştirin veya geom_hex() fonksiyonuna geçin.
  • 💾 İhracat: ggsave(“plot.png”, width = 8, height = 5, dpi = 300) komutu, son oluşturulan grafiği çalışma dizinine yazar.

R'de ggplot2 kullanarak saçılım grafiği oluşturma

Veri Analizinde Grafiklerin Önemi

Grafikler veri analizi sürecinin üçüncü kısmıdır. İlk bölüm bununla ilgili veri örneğitracyon, ikinci bölüm şu konuyu ele alıyor verileri temizleme ve işleme. Son olarak, veri bilimcinin şunları yapması gerekebilir: sonuçlarını grafiksel olarak iletin.

Aşağıdaki resimde bir veri bilimcisinin iş akışı özetlenmiştir.

  • Bir veri bilimcinin ilk görevi bir araştırma sorusu tanımlamaktır. Bu araştırma sorusu projenin amaç ve hedeflerine bağlıdır.
  • Bundan sonra en öne çıkan görevlerden biri özellik mühendisliğidir. Veri bilimcinin verileri toplaması, işlemesi ve temizlemesi gerekiyor
  • Bu adım tamamlandığında veri kümesini keşfetmeye başlayabilir. Bazen yeni bir keşif nedeniyle orijinal hipotezi geliştirmek ve değiştirmek gerekebilir.

R'de Dağılım Grafiği

  • Zaman açıklayıcı Analiz başarılırsa, veri bilimci okuyucunun kapasitesini dikkate almalıdır. Temel kavramları ve modelleri anlamak.
  • Sonuçları tüm paydaşların anlayabileceği bir formatta sunulmalıdır. En iyi yöntemlerden biri iletişim kurmak sonuçlar bir aracılığıyla grafik.
  • Grafikler karmaşık analizleri basitleştirmek için harika bir araçtır.

Bu eğitimin geri kalanında, ggplot2 paketi kullanılarak bu grafikler oluşturulacaktır.

ggplot2 Paketi

Bu eğitim, ggplot2 kullanarak R'da grafik oluşturmaya odaklanmaktadır.

Bu eğitimde ggplot2 paketini kullanacaksınız. Bu paket, Leland Wilkinson tarafından 2005 yılında tanımlanan Grafik Gramerini uygulamaktadır. ggplot2 esnektir, birçok tema ile birlikte gelir ve bir grafiği yüksek düzeyde tanımlamanıza olanak tanır.tracBu paketin üç boyutlu veya etkileşimli grafikler üretmediğini unutmayın; bunlar için plotly veya rgl gibi paketlere ihtiyaç duyulmaktadır.

ggplot2'de bir grafik aşağıdaki argümanlardan oluşur:

  • veri
  • estetik haritaping
  • geometrik nesne
  • istatistiksel dönüşümler
  • terazi
  • koordinat sistemi
  • konum ayarlamaları
  • faceting

Bu derste bu argümanları nasıl kontrol edeceğinizi öğreneceksiniz.

Ggplot2'nin temel sözdizimi şöyledir:

ggplot(data, mapping=aes()) +
geometric object 

arguments: 
data: Dataset used to plot the graph
mapping: Control the x and y-axis 
geometric object: The type of plot you want to show. The most common object are:
 
- Point: `geom_point()` 
- Bar: `geom_bar()`
- Line: `geom_line()` 
- Histogram: `geom_histogram()`

R'de Dağılım Grafiği Nasıl Oluşturulur?

Ggplot'un mtcars veri kümesiyle nasıl çalıştığını görelim. Mpg değişkeni ve drat değişkeninin dağılım grafiğini çizerek başlarsınız.

Temel dağılım grafiği

library(ggplot2)
ggplot(mtcars, aes(x = drat, y = mpg)) +
    geom_point()

Code açıklama

  • İlk önce veri kümesi mtcar'larını ggplot'a iletirsiniz.
  • aes() argümanının içine x eksenini ve y eksenini eklersiniz.
  • + işareti, R'nin kodu okumaya devam etmesini istediğiniz anlamına gelir. Kodu kırarak daha okunabilir hale getirir.
  • Geometrik nesne için geom_point() işlevini kullanın.

Çıktı:

Temel Dağılım Grafiği

Gruplarla dağılım grafiği

Bazen değerleri bir grup veriye (yani faktör düzeyindeki verilere) göre ayırmak ilginç olabilir.

ggplot(mtcars, aes(x = mpg, y = drat)) +
    geom_point(aes(color = factor(gear)))

Code açıklama

  • geom_point() içindeki aes() fonksiyonu, her grubun rengini kontrol eder. Grupping Değişken bir faktör olmalıdır, bu nedenle gear, factor() içine alınmıştır.
  • Toplamda, noktaların rengini değiştiren aes(color = Factor(gear)) koduna sahipsiniz.

Çıktı:

Gruplarla Dağılım Grafiği

Eksen Ölçeğini Logaritmik Dönüşümle Değiştirin

Verilerin yeniden ölçeklendirilmesi, analistin işinin büyük bir bölümünü oluşturur, çünkü ham değişkenler nadiren düzgün bir çan eğrisi şeklinde gelir. Logaritma almak, aşırı değerleri sıkıştırmanın ve grafiği aykırı değerlere karşı daha az hassas hale getirmenin bir yoludur.

ggplot(mtcars, aes(x = log(mpg), y = log(drat))) +
    geom_point(aes(color = factor(gear)))

Code açıklama

  • log() fonksiyonunda x ve y değişkenlerini doğrudan aes() map fonksiyonunun içinde dönüştürüyorsunuz.ping.

Standardizasyon veya normalizasyon gibi başka herhangi bir dönüşümün uygulanabileceğini unutmayın.

Çıktı:

Ekseni Değiştir

Uygun değerlere sahip dağılım grafiği

Grafiğe başka bir bilgi düzeyi ekleyebilirsiniz. Uyarlanmış değerleri üst üste bindirebilirsiniz. doğrusal regresyon.

my_graph <- ggplot(mtcars, aes(x = log(mpg), y = log(drat))) +
    geom_point(aes(color = factor(gear))) +
    stat_smooth(method = "lm",
        col = "#C42126",
        se = FALSE,
        size = 1)
my_graph

Code açıklama

  • my_graph: Grafik, my_graph nesnesinde saklanır, böylece sonraki adımlar tüm çağrıyı tekrarlamaya gerek kalmadan katmanlar ekleyebilir.
  • stat_smooth() argümanı yumuşatma yöntemini kontrol eder
  • yöntem = “lm”: Doğrusal regresyon
  • sütun = “#C42126”: Code çizginin kırmızı rengi için
  • se = FALSE: Standart hatayı gösterme
  • size = 1: çizginin kalınlığı. ggplot2 3.4.0 ve sonraki sürümlerinde bu argüman, çizgi geometrileri için linewidth olarak yeniden adlandırılmıştır.

Çıktı:

Uygun Değerlerle Dağılım Grafiği

Başka yumuşatma yöntemlerinin de mevcut olduğunu unutmayın

  • gösteriş
  • gam
  • Loess: 1,000'den az gözlem için varsayılan değer.
  • rlm: MASS paketinden sağlam doğrusal model

Grafiği biçimlendirmeden önce, dağılım grafiğinin ne zaman doğru bir seçim olduğunu bilmekte fayda var.

Dağılım Grafiği ile Çizgi Grafiği Karşılaştırması BubblR'de e Grafiği

Her üç yöntem de iki sürekli değişkeni birbirine karşı çiziyor, bu nedenle seçim okuyucunun neyi anlaması gerektiğine bağlı.

Kriterler Dağılım grafiği Çizgi Grafiği Bubble Grafik
Gösteriler İki değişken arasındaki korelasyon Sıralı bir eksen üzerinde bir değişkenin değişimi Korelasyon artı üçüncü bir büyüklük
X ekseni Herhangi bir sürekli değişken Genellikle zaman veya başka bir sıralı ölçek Herhangi bir sürekli değişken
Puan sırası ilgisiz Kritik noktalar birbirine bağlıdır. ilgisiz
Üçüncü değişken renk veya şekil yoluyla Ayrı satırlar aracılığıyla Nokta boyutu aracılığıyla
ggplot2 çağrısı geom_point() geom_çizgisi() geom_point(aes(size = z))

X ekseninde doğal bir sıralama olmadığında dağılım noktalarını bir çizgiyle birleştirmek yaygın bir hatadır: var olmayan bir sıralamayı ima eder. geom_line() fonksiyonunu tarihler gibi sıralı eksenler için saklayın. Tek bir değişkenin dağılımları için şunu kullanın: kutu arsa yerine.

Grafiğe bilgi ekleme

Şu ana kadar grafiklerde açıklayıcı metin bulunmuyor. Okuyucu, ek belgelere başvurmadan, yalnızca grafikten verilerdeki hikayeyi anlayabilmelidir; bu da grafiğin iyi etiketlere ihtiyacı olduğu anlamına gelir. Etiketleri labs() fonksiyonu ile ekleyebilirsiniz.

labs() fonksiyonunun temel sözdizimi şu şekildedir:

labs(title = "Hello Guru99")
arguments:
- title: Main title displayed above the plot
- subtitle: Secondary line below the title
- caption: Note below the plot, usually the data source
- x: Rename the x-axis
- y: Rename the y-axis
- color / fill: Rename the legend

Example: labs(title = "Hello Guru99", subtitle = "My first plot")

Başlık ekle

Eklenmesi zorunlu bilgilerden biri elbette bir başlıktır.

my_graph +
    labs(
        title = "Plot Mile per hours and drat, in log"
         )

Code açıklama

  • my_graph: Sakladığınız grafiği kullanırsınız. Grafiğe her yeni bilgi eklediğinizde tüm kodların yeniden yazılmasını önler.
  • Başlığı labs() fonksiyonunun içine yerleştiriyorsunuz.

Çıktı:

Başlık ekle

Dinamik ada sahip bir başlık ekleyin

Dinamik bir başlık, başlığa daha kesin bilgiler eklemek açısından faydalıdır.

Statik metni ve dinamik metni yazdırmak için Paste() işlevini kullanabilirsiniz. Paste() fonksiyonunun temel sözdizimi şöyledir:

paste("This is a text", A)
arguments
- " ": Text inside the quotation marks are the static text
- A: Display the variable stored in A
- Note you can add as much static text and variable as you want. You need to separate them with a comma	

Örnek:

A <- 2010
paste("The first year is", A)

Çıktı:

## [1] "The first year is 2010"
B <- 2018
paste("The first year is", A, "and the last year is", B)

Çıktı:

## [1] "The first year is 2010 and the last year is 2018"

Grafiğimize dinamik bir isim yani mpg ortalaması ekleyebilirsiniz.

mean_mpg <- mean(mtcars$mpg)
my_graph + labs(
    title = paste("Plot Mile per hours and drat, in log. Average mpg is", mean_mpg)
)

Code açıklama

  • Ortalama_mpg değişkeninde saklanan ortalama(mtcars$mpg) ile mpg ortalamasını oluşturursunuz
  • Mpg'nin ortalama değerini döndüren dinamik bir başlık oluşturmak için Paste() işlevini Mean_mpg ile birlikte kullanırsınız.

Çıktı:

Dinamik Adla Başlık Ekleme

Altyazı ekle

Grafiği daha açık hale getiren iki ayrıntı daha var. Bahsettiğiniz şey alt başlık ve alt yazı. Alt başlık, başlığın hemen altında yer alır. Alt yazı ise hesaplamayı kimin yaptığını ve verilerin kaynağını belirtebilir.

my_graph +
    labs(
        title =
        "Relation between Mile per hours and drat",
        subtitle =
        "Relationship break down by gear class",
        caption = "Authors own computation"
    )

Code açıklama

  • Labs() fonksiyonunun içine şunları eklediniz:
    • title = “Saat başına mil ile sürüklenme arasındaki ilişki”: Başlık ekle
    • altyazı = "İlişkinin dişli sınıfına göre dökümü": Altyazı ekle
    • caption = “Yazarın kendi hesaplaması: Başlık ekle
    • Her yeni bilgiyi virgülle ayırırsınız, ,
  • Kod satırlarını kırdığınızı unutmayın. Zorunlu değildir ve yalnızca kodun daha kolay okunmasına yardımcı olur.

Çıktı:

Altyazı Ekle

X eksenini ve y eksenini yeniden adlandırın

Sütun adları nadiren sunuma hazır olur. Genellikle kısaltılırlar veya GDP_CAP örneğinde olduğu gibi kelimeler arasında alt çizgi kullanılır. Bunları grafikte yeniden adlandırın ve önemli yerlere birimler ekleyin.

my_graph +
    labs(
        x = "Drat definition",
        y = "Mile per hours",
        color = "Gear",
        title = "Relation between Mile per hours and drat",
        subtitle = "Relationship break down by gear class",
        caption = "Authors own computation"
    )

Code açıklama

  • Labs() fonksiyonunun içine şunları eklediniz:
    • x = “Drat tanımı”: X ekseninin adını değiştirin
    • y = “Saat başına mil”: Y ekseninin adını değiştirin

Çıktı:

X Eksenini ve Y Eksenini yeniden adlandırın

Teraziyi kontrol edin

Eksen ölçeğini kontrol edebilirsiniz.

Bir sayı dizisi oluşturmanız gerektiğinde seq() işlevi kullanışlıdır. Temel sözdizimi şöyledir:

seq(begin, last, by = x)
arguments:
- begin: First number of the sequence
- last: Last number of the sequence
- by= x: The step. For instance, if x is 2, the code adds 2 to `begin-1` until it reaches `last`	

Örneğin, 0 ile 12 arasında 4'er adımlı bir aralık dört sayı döndürür: 0, 4, 8 ve 12.

seq(0, 12,4)

Çıktı:

## [1]  0  4  8 12

X ekseninin ve y ekseninin ölçeğini aşağıdaki gibi kontrol edebilirsiniz

my_graph +
    scale_x_continuous(breaks = seq(1, 3.6, by = 0.2)) +
    scale_y_continuous(breaks = seq(1, 1.6, by = 0.1)) +
    labs(
        x = "Drat definition",
        y = "Mile per hours",
        color = "Gear",
        title = "Relation between Mile per hours and drat",
        subtitle = "Relationship break down by gear class",
        caption = "Authors own computation"
    )

Code açıklama

  • Scale_y_continuous() işlevi şunları kontrol eder: y-ekseni
  • Scale_x_continuous() işlevi, x koordinatı.
  • Parametre sonları eksenin bölünmesini kontrol eder. Sayı sırasını manuel olarak ekleyebilir veya seq() işlevini kullanabilirsiniz:
    • seq(1, 3.6, by = 0.2): 1'den 3.6'ya 0.2'lik adımlarla, yani 14 kırılma noktasıyla bir dizi oluşturun.
    • seq(1, 1.6, by = 0.1): 1'den 1.6'ya kadar 0.1'lik adımlarla yedi sayı oluşturun.

Çıktı:

Teraziyi kontrol edin

Tema

Son olarak, ggplot2 tek bir tema fonksiyonuyla tüm grafiği yeniden şekillendirmenize olanak tanır. Paketle birlikte sekiz adet eksiksiz tema sunulmaktadır:

  • theme_bw()
  • theme_light()
  • tema_klasik()
  • theme_linedraw()
  • theme_dark()
  • theme_minimal()
  • theme_gray()
  • theme_void()
my_graph +
    theme_dark() +
    labs(
        x = "Drat definition, in log",
        y = "Mile per hours, in log",
        color = "Gear",
        title = "Relation between Mile per hours and drat",
        subtitle = "Relationship break down by gear class",
        caption = "Authors own computation"
    )

Çıktı:

Tema

Arsaları Kaydet

Tüm bu adımlardan sonra, grafiğinizi kaydetme ve paylaşma zamanı geldi. Grafiği çizdikten hemen sonra ggsave("dosya_adı.png") komutunu çağırın ve görüntü diske yazılacaktır.

Grafik çalışma dizinine kaydedilir. Çalışma dizinini kontrol etmek için şu kodu çalıştırabilirsiniz:

directory <- getwd()
directory

Oluşturulan grafiği çizin, kaydedin ve nerede konumlandığını kontrol edin:

my_graph +
    theme_dark() +
    labs(
        x = "Drat definition, in log",
        y = "Mile per hours, in log",
        color = "Gear",
        title = "Relation between Mile per hours and drat",
        subtitle = "Relationship break down by gear class",
        caption = "Authors own computation"
    )

Çıktı:

Arsaları Kaydet

ggsave("my_fantastic_plot.png")

Çıktı:

## Saving 5 x 4 in image

not: Yalnızca pedagojik amaçlı olarak, sizin için dizin klasörünü açmak üzere open_folder() adında bir işlev oluşturduk. Aşağıdaki kodu çalıştırmanız ve resmin nerede saklandığını görmeniz yeterlidir. my_fantastic_plot.png adında bir dosya görmelisiniz.

# Run this code to create the function
open_folder <- function(dir) {
    if (.Platform['OS.type'] == "windows") {
        shell.exec(dir)
    } else {
        system(paste(Sys.getenv("R_BROWSER"), dir))
    }
}

# Call the function to open the folder
open_folder(directory)

R'da facet_wrap() kullanarak çok yüzlü dağılım grafikleri nasıl oluşturulur?

Faceting, daha önce listelenen sekiz ggplot2 bileşeninden biridir ve kalabalık bir grafik için en temiz çözümdür. Her grubu tek bir panele sıkıştırmak yerine, ggplot2 bir değişkenin her seviyesi için küçük bir çoklu grafik çizer ve tüm grafikler aynı ölçekte olduğundan paneller karşılaştırılabilir kalır.

# One panel per gear count
ggplot(mtcars, aes(x = drat, y = mpg)) +
    geom_point() +
    facet_wrap(~ gear) +
    theme_classic()

Üç argüman işin büyük kısmını hallediyor.

  • Ncol or dar: Panelleri belirli bir düzene zorlayın, örneğin facet_wrap(~ gear, ncol = 2).
  • teraziVarsayılan olarak "sabit"tir, bu nedenle her panel tek bir eksen aralığını paylaşır. Grupların büyüklükleri çok farklı olduğunda "free_y" veya "free" kullanın, ancak serbest ölçeklerin paneller arasındaki görsel karşılaştırmayı yanıltıcı hale getirebileceğini unutmayın.
  • etiket makinesi: Her bir şeritteki ham faktör seviyesini değiştirir; örneğin, labeller = label_both komutu "4" yerine "gear: 4" yazdırır.

İki grupping değişkenler. Birinci değişkeni satırlara, ikinci değişkeni ise sütunlara yerleştirerek panellerden oluşan bir matris oluşturmak için facet_grid() fonksiyonunu kullanın:

ggplot(mtcars, aes(x = drat, y = mpg)) +
    geom_point(aes(color = factor(cyl))) +
    facet_grid(am ~ gear) +
    theme_classic()

Yüzeyler mi yoksa renkler mi? Renk, sınırlı örtüşmeyle bir grafikte yaklaşık dört gruba kadar iyi sonuç verir. Bunun ötesinde veya gruplar çok fazla örtüştüğünde, her panel yalnızca kendi noktalarını taşıdığı için fasetleme daha kolay okunur. İkisini de birleştirebilirsiniz: yukarıdaki facet_grid() örneğinde olduğu gibi, bir değişkene göre fasetleme ve başka bir değişkene göre renklendirme yapabilirsiniz.

R'de Dağılım Grafiklerinde Üst Üste Binen Grafikleri Nasıl Yönetirsiniz?

Birkaç düzine gözlemle her nokta görünür hale gelir. Binlerce gözlemle ise işaretleyiciler üst üste yığılır ve en yoğun bölge sadece katı bir leke olarak algılanır. İşte bu kadar. aşırı çizimggplot2 ise dört standart çözüm sunuyor.

1. Şeffaflığı azaltın. En ucuz çözüm. Çakışmaping Noktalar doğal olarak koyulaşır, böylece yoğunluk görünür hale gelir:

ggplot(diamonds, aes(x = carat, y = price)) +
    geom_point(alpha = 0.05) +
    theme_classic()

2. Ayrık değerlerde titreşim. Bir değişken yalnızca birkaç değer aldığında, noktalar aynı koordinatlara düşer. Aralarında küçük bir rastgele yer değiştirme bulunur:

ggplot(mtcars, aes(x = factor(cyl), y = mpg)) +
    geom_jitter(width = 0.15, height = 0) +
    theme_classic()

Yüksekliği 0 olarak ayarlayın, böylece gerçek bilgiyi taşıyan y değerleri asla değişmez.

3. Uçağı çöpe atın. Büyük veri kümeleri için, hücre başına gözlem sayısını sayın ve bu sayıyı renge eşleştirin. Altıgen bölmeler, kare bölmelerin oluşturduğu görsel bozulmaları önler:

ggplot(diamonds, aes(x = carat, y = price)) +
    geom_hex(bins = 40) +
    theme_classic()

4. Yoğunluk konturlarını çizin. Kontur çizgileri, gözlemlerin yoğunlaştığı bölgeleri belirler ve soluk noktaların üzerine düzgün bir şekilde yerleşirler:

ggplot(diamonds, aes(x = carat, y = price)) +
    geom_point(alpha = 0.05) +
    geom_density_2d(color = "#C42126") +
    theme_classic()

Genel bir kural olarak, alfa birkaç bin noktayı, altıgen bölme on binlerce noktayı işler ve bunun ötesinde dplyr::slice_sample() ile verileri örneklemek pratik bir seçenektir.

R'de Dağılım Grafiği: Code Referans

Aşağıdaki tabloda yukarıda ele alınan her seçenek için ggplot2 çağrısı listelenmiştir:

Hedef Code
Temel dağılım grafiği
ggplot(df, aes(x = x1, y = y)) + geom_point()
Renk gruplarına göre dağılım grafiği
ggplot(df, aes(x = x1, y = y)) + geom_point(aes(color = factor(x2)))
Uygun değerleri ekle
ggplot(df, aes(x = x1, y = y)) + geom_point() + stat_smooth(method = "lm")
Başlık ekle
ggplot(df, aes(x = x1, y = y)) + geom_point() + labs(title = paste("Hello Guru99"))
Altyazı ekle
ggplot(df, aes(x = x1, y = y)) + geom_point() + labs(subtitle = paste("Hello Guru99"))
X'i yeniden adlandır
ggplot(df, aes(x = x1, y = y)) + geom_point() + labs(x = "X1")
Y'yi yeniden adlandır
ggplot(df, aes(x = x1, y = y)) + geom_point() + labs(y = "y1")
Ölçeği kontrol edin
ggplot(df, aes(x = x1, y = y)) + geom_point() + scale_y_continuous(breaks = seq(10, 35, by = 10)) + scale_x_continuous(breaks = seq(2, 5, by = 1))
Günlük oluştur
ggplot(df, aes(x = log(x1), y = log(y))) + geom_point()
Tema
ggplot(df, aes(x = x1, y = y)) + geom_point() + theme_classic()
Bir grup tarafından yapılan bir değerlendirme
ggplot(df, aes(x = x1, y = y)) + geom_point() + facet_wrap(~ x2)
Üst üste bindirme işlemini ele alın
ggplot(df, aes(x = x1, y = y)) + geom_point(alpha = 0.3)
İndirim
ggsave("my_fantastic_plot.png")

SSS

`geom_point()` fonksiyonu her gözlemi tam koordinatlarında çizer. `geom_jitter()` fonksiyonu ise küçük bir rastgele yer değiştirme ekleyerek aynı değere sahip noktaların ayırt edilebilir olmasını sağlar; bu, bir eksende ayrık değerler bulunduğunda önemlidir.

`aes()` fonksiyonunun içinde `color` değişken bir değeri eşler, bu nedenle ggplot2 her seviye için bir ton atar ve bir gösterge oluşturur. `aes()` fonksiyonunun dışında ise `color`, her noktaya uygulanan sabit bir değerdir ve gösterge görünmez.

geom_point() fonksiyonundan sonra stat_smooth(method = “lm”) veya geom_smooth(method = “lm”) ekleyin. Güven aralığını gizlemek için se = FALSE olarak ayarlayın ve doğrusal olmayan bir yumuşatıcı için method = “loess” kullanın.

Saçılım grafikleri, eğitim öncesinde özellik korelasyonunu ve aykırı değerleri ortaya çıkarır ve PCA veya t-SNE ile boyut indirgeme işleminden sonra tahmin edilen değerleri gerçek değerlerle karşılaştırmanın veya kümeleri görselleştirmenin standart yoludur.

Evet. Yapay zeka asistanları katmanlar oluşturabilir, üst üste bindirme düzeltmeleri önerebilir ve eksik bir aes() sarmalayıcısı gibi hataları açıklayabilir. Sütun adları ve faktör türleri kolayca yanlış yazılabileceğinden, oluşturulan kodu kendi verileriniz üzerinde çalıştırın.

Bu yazıyı şu şekilde özetleyin: