in ,

EntellektüelEntellektüel HavalıHavalı ÇalışkanÇalışkan Sevgi DoluSevgi Dolu ŞaşkınŞaşkın ÇılgıncaÇılgınca

R ggplot2 Paketi İle Grafik Çizme Yöntemlerine Giriş

ggplot2’nin Temel Fonksiyonları ve Uygulamalı Grafik Çizimi

Merhabalar. Bu içerikte sizlere ggplot kullanarak çizebileceğimiz milyon tane grafikten birkaçını göstermek istiyorum. Bu içerik ggplota giriş niteliğindedir ve serinin devamı gelecektir.

Bugün ggplot komutu ile birlikte geom_point, aes, x, y, size, colour, alpha kavramlarını kombinleceğiz.

Öncelikle plot, boxplot, barplot, hist gibi temel komutları incelediğim içeriklerde kullandığım “anket” verisine birkaç sütun daha ekleyerek yeni bir veri oluşturdum. Bu içerikte de oluşturduğum veriyi kullanacağım. Siz de indirerek kendinizi, buradaki sonuçlarla test edebilirsiniz.

Şimdi elimizdeki veriyi R Studio’ya aktaralım.

import ggplot2 paket

Bunun için yukarıdaki gibi, sağ üstteki import dataset butonuna tıklıyoruz.,

import ggplot2 paket excel

Yukarıdaki resimdeki gibi, From Excel butonuna tıklıyoruz.

import ggplot2 paket software

Karşımıza yukarıdaki gibi bir pencere çıkacaktır. Daire içinde gözüken Browse butonuna tıklayarak veriyi, bulunduğu klasörden seçiyoruz.

import ggplot2 paket software select

Seçtikten sonra karşımıza bu şekilde bir görüntü çıkacaktır. Sonrasında Import butonuna tıklıyoruz.

dataframe

Elimizdekinin verinin içeriğini sol üstteki pencerede görebiliriz. İstediğimiz grafikleri çizebilmemiz için birçok komuta ihtiyacımız var, bu sebeple altta gözüken package isimlerini çalıştırmamız gerekiyor. Konsol kısmına

library(tidyverse)
library(dplyr)
library(ggplot2)

yazmanız yeterli olacaktır.

paketleri yükle

Yukarıda da görüldüğü gibi, ilk olarak ggplot komutunu kullanarak grafik çizeceğimi sisteme söyledim. Sonrasında yazdığım “anket”, kullanacağım verinin ismini ifade eder, veri isminden sonra virgül kullandım ve aes komutunu yazdım, aes komutu sisteme, koordinatlar hakkında bilgi vermemizi sağlar. Örneğin yukarıdaki örnekte, x ekseninde boy_cm, y ekseninde kilo_kg bilgisinin bulunmasını istemişim. Parantezleri kapattıktan sonra grafiğin noktalı halde görünmesini istediğimden + koyup geom_point komutunu kullandım. Böylece sisteme şunu söylemiş oldum : “anket isimli verideki boy_cm sütununun sahip olduğu bilgiyi x ekseninde, anket isimli verideki kilo_kg sütununun sahip olduğu bilgiyi y ekseninde, noktalı halde görmek istiyorum.” Bu sayede sağdaki grafiği elde ettim.

scatter plot

x ve y eksenin içermesini istediğim bilgiyi değiştirdiğimde sağdaki gibi bir grafik elde etmiş oldum. Fakat gördüğünüz gibi, mantık tamamen aynı.

boyut ayarı

Yukarıda da görüldüğü gibi, boy_cm – kilo_kg – yaş sütunlarının sahip olduğu bilgiyi kombine edebiliriz. Grafiğe bakarsak bazı noktaların büyük, bazılarının küçük olduğunu ve sağdaki skalayı fark ederiz. Yazdığım komut sebebiyle, yaşı büyük olanların noktası büyük, yaşı küçük olanların noktası daha küçük gözükmektedir. Böylece 3 bilgiyi tek bir grafikte gösterebiliriz. Grafik sayesinde ankete katılan insanlardan, boyu 150 cm, kilosu 60 kg olan birinin yaşının 18den biraz daha küçük olduğunu söyleyebiliriz. Bu şekilde birçok yorum yapabilmemiz mümkündür.

renk ayarı

Yukarıdaki komut sayesinde birbirinden farklı 4 özelliği tek bir grafikte görebilmemiz mümkündür. colour=Cinsiyet komutunu aes parantezinin içine yazarak, grafikte cinsiyetlere göre farklı renk kullanılmasını istemiş oldum. Grafiğe baktığımızda pembe ve mavi rengi kolaylıkla görebiliriz. Erkekler pembe renk ile kadınlar ise mavi renk ile gözükmekte. Yukarıdaki grafik sayesinde, ankete katılan insanlardan boyu yaklaşık 173 cm, kilosu 65 kg olan kişinin cinsiyetinin erkek, yaşının ise yaklaşık 18 olduğunu söyleyebiliriz. Gördüğünüz gibi tek bir grafikten 4 özelliğe dair yorum yapabildik.

gruba göre renklendirme

Bu sefer de renklendirmenin İngilizce seviyesine göre değişmesini istedim ve komutu bu şekilde yazdım. Grafikte 4 farklı net kullanıldığını görüyoruz. Burada da tek bir grafik sayesinde 4 özellik hakkında yorum yapabiliyoruz.

Yukarıdaki komutta diğer komutlardan farklı olarak alpha ‘yı kullanmışım. Alpha, renklendirmenin şeffaf olmasını sağlayarak üst üste gelen noktaların birbirini örtmesine engel olur. Kullandığımız veride böyle bir durum yok ama başka verilerde çakışma olabilir diye yer vermek istedim.

dogum yerine göre renklendirme

Yukarıdaki grafikte renklendirmenin doğum yerlerine göre değişmesini istedim ve komutu buna göre yazdım. Grafiğe bakarak, ankete katılan insanlardan yaklaşık 183 cm boyunda ve yaklaşık 73 kg kiloda olan birinin İstanbul’da doğduğunu ve yaklaşık 24 yaşında olduğunu söyleyebiliriz.

renklendirme

Renklendirmeyi sadece x ve y ekseninden ayrı olarak yapmak zorunda değiliz. Yukarıda görüldüğü gibi, hem y ekseni için, hem de renklendirme için kilo_kg sütununu seçtim ve mavi rengin tonlarıyla ifade edilebildi.

boyut-renkendirme

Yukarıda, size komutunu kullanmadan çizilmiş bir grafik görüyoruz.

Şimdi ise farklı kombinasyonları denediğim örnekleri göstermek istiyorum.

renklendirme-2

renklendirme-3

renlkendirme-4

Benim şimdilik anlatmak istediklerim bu kadar. Bu içerikte ggplota giriş yaptık.

Siz de üzerinde uygulama yaptığım veriyi kullanarak kendinizi test edebilirsiniz. Şimdiden iyi uygulamalar dilerim.

Kaynaklar:

  1. https://ggplot2.tidyverse.org/
  2. https://cran.r-project.org/web/packages/ggplot2/index.html
  3. https://anaraven.bitbucket.io/

Editör: Mehdi Koşaca

Ne düşünüyorsunuz?

36 Points
+ Oy - Oy

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir