ggplot ile Veri Görselleştirme

R kurulumu ile dahili olarak gelen plot, boxplot, hist gibi çekirdek (core) görselleştirme fonksiyonları, verilere hızlı bir şekilde göz atmak için kullanılabilir. Ancak, verilerinizi bir makalede veya raporda görselleştirmek istediğinizde görsel açıdan daha zengin grafikler oluşturmak isteyebilirsiniz. Bu yazıda en popüler görselleştirme ek paketlerinden ggplot2‘ye giriş yapacağız.

Kurulum

ggplot2, tidyverse paket seti ile birlikte gelen bir paket. Bu sebeple, tidyverse paketini yükleyerek veya doğrudan ggplot2 paketini yükleyerek R ortamına kurulum yapabiliriz.

# tidyverse üzerinden kurulum
> install.packages("tidyverse")
> library(tidyverse)

# doğrudan kurulum
> install.packages(ggplot2)
> library(ggplot2)
Prensip

Bu fonksiyonun prensibi, bir kez veriyi tanıttıktan sonra, katmanlar ekleyerek görseli zenginleştirmeyi içeriyor. Ve her bir katman + karakteri ile ekleniyor.

İlk basamakta ggplot fonksiyonu içinde data parametresi ile görselleştirilecek data.frame seçilir. Ardından + karakteri eklenerek hangi görselleştirme katmanının ekleneceği belirtilir.

Uygulama

Aşağıdaki örnekte, ggplot fonksiyonu içinde data parametresi olarak “mtcars” adlı data.frame seçilmiş.  Bu fonksiyon içinde de her bir eksende yer alacak verilerin başlıkları aes(x = ... , y = ...) parametreleri ile belirlenmiş. Ardından, + karakteri ve  geom_point() fonksiyonu ile ilk katman eklenmiş. Bu ilk katmandaki geom_point  katmanı dağılım grafiği (scatterplot) oluşturmak için kullanılır. Bunun dışında kullanabileceğiniz onlarca başka katman da bulunuyor.

İlk örnek içinde mtcars datasetini ve içindeki disp ve wt adlı kolonları ggplot’a tanıttıktan sonra, buna dağılım grafiği uygulamasını istiyoruz.

# Örnek 1
> ggplot(data = mtcars, aes(x=disp , y=wt)) +
       geom_point()

Şimdi de bu grafiğe renk ekleyelim. Renk eklemek için color parametresini kullanıyoruz. Bu parametreyi, hangi katmanı renklendirmek istiyorsak o katmana (bu örnekte geom_point katmanı) içine ekliyoruz.

# Örnek 2
> ggplot(data = mtcars, aes(x=disp , y=wt)) +
       geom_point(color= "lightblue")

Şimdi de yeni bir katman eklemeyi deneyelim. Yeni katmanı daha önceki gibi + karakteri ile ekliyoruz. Bu katmanda, eldeki verilere göre lineer regresyon çizgisi ekleyeceğiz. Bu amaçla geom_smooth katmanını kullanacağız. Burada method parametresi olarak lm (linear smoothing), glm (generalised linear smooths) veya loess (local smooths) kullanabiliriz. Bu katmanın rengi da “koyu mavi” olsun.

# Örnek 3
> ggplot(data = mtcars, aes(x=disp , y=wt)) +
       geom_point(color= "lightblue") +
       geom_smooth(method='lm', color = "darkblue")

Eksen adlarını değiştirmek, başlık, altbaşlık veya altyazı eklemek için de yeni bir katman ekleyebiliriz. Bu amaçla labs katmanını kullanıyoruz. Bu katman içinde title ile başlığı; subtitle ile altbaşlığı, x ile yatay ekseni, y ile dikey ekseni, caption ile de altyazıyı ekleyebiliriz.

# Örnek 4
> ggplot(data = mtcars, aes(x=disp , y=wt)) +
       geom_point(color= "lightblue") +
       geom_smooth(method='lm', color = "darkblue") +
       labs(title = "Comparison Between Displacement and Weight", 
            subtitle = "Data extracted from mtcars dataset", 
            x = "Displacement", 
            y= "Weight (1000 lbs)", 
            caption = "mtcars,2017")

Bu yazıda sadece ggplot paketinin prensibinden ve örnek uygulamalarından bahsettik. Konu ile ilgili daha fazla görsellere ileride yer vereceğiz. Dağılım grafiği gibi başka onlarca tipte grafiği bu pakette hazırlamak mümkün.

Örneğin,

  • Dikey veya yatay referan çizgileri eklemek için geom_abline,
  • Çubuk tipi grafikler çizmek için geom_bar,
  • Hekzagonal sıcaklık haritası (heatmap) için geom_bin2d,
  • Kutu tipi grafik (boxplot) oluşturmak için geom_boxplot,
  • 3 boyutlu dağılımların 2 boyuttaki izdüşümlerini oluşturmak için geom_contour,
  • Histogram veya yoğunluk grafiği oluşturmak için geom_density veya geom_density_2d,
  • Nokta tipi histogram için geom_dotplot,
  • Çizgi tipi grafik oluşturmak için geom_line ve benzeri onlarca katmanı kullanabilirsiniz.

Daha fazlası için Winston Chang tarafından hazırlanmış olan “R Graphics Cookbook:
Practical Recipes for Visualizing Data” kitabını edinebilirsiniz. Kitabın ücretsiz çevrim içi versiyonuna bu adresten erişebilirsiniz. Veya Pandora Kitabevi’nden özel sipariş ile temin edebilirsiniz. Genellikle yurt dışı satış fiyatı üzerinden çok az bir oran komisyon ile getirebiliyorlar.

Moleküler Biyolog ve Genetikçi.İstanbul Teknik Üniversitesi'nde doktora öğrencisi. 5 yıldır biyoinformatik ve yeni nesil dizileme üzerine çalışıyor. Genetik ve biyoinformatik üzerine Variant adlı blogda yazıyor.

4 comments On ggplot ile Veri Görselleştirme

Yorum bırakın:

Your email address will not be published.

Site Footer

Sliding Sidebar

Hakkımda

Hakkımda

Moleküler Biyolog ve Genetikçi. İstanbul Teknik Üniversitesi'nde doktora öğrencisi. 5 yıldır biyoinformatik ve yeni nesil dizileme üzerine çalışıyor.

Tweets

Please check your internet connection.