R Notları: Çoklu Değişkenleri Tek Grafikte Ele Almak

R'da ggplot kütüphanesi bizlere görselleştirme yaparken geniş bir katalog sunuyor ve

R’da ggplot kütüphanesi bizlere görselleştirme yaparken geniş bir katalog sunuyor ve “Ggplot” ile verileri görselleştirmenin çeşitli yolları bulunuyor. Başlangıç için linke eklediğim ggplot2 katalog bu konuda yol gösterici olacaktır. Bu bölümde kategorik ve çoklu sürekli değişkenlerin bulunduğu bir veri setini nasıl görselleştirebileceğimizi aktarmaya çalışıyorum. Katalogda bulunan kodlar arasında yer almayan, 5 sürekli değişkenin olduğu veri setini görselleştirmeden önce, bir veri seti oluşturalım:

datanotlar3 <- data.frame(nesil = c("X", "Y", "BB", "Z", "S", "S", "Y", "BB", "Z", "S", "X", "Y", "Z", "BB", "Z"),
gazete = c(4, 2, 7, 1, 9, 8, 1, 8, 3, 5, 3, 5, 1, 4, 5),
radyo = c(6, 6, 3, 8, 4, 5, 5, 3, 5, 8, 2, 4, 5, 3, 5),
televizyon = c(6, 5, 8, 1, 9, 6, 5, 4, 2, 8, 4, 6, 3, 2, 1),
telefon = c(9, 6, 8, 5, 9, 4, 5, 8, 9, 8, 7, 8, 9, 8, 7),
dergi = c(3, 2, 4, 2, 3, 5, 5, 7, 3, 8, 4, 6, 7, 5, 7))

Bu bölümde kategorik ve çoklu sürekli değişkenlerin bulunduğu bir veri setini nasıl görselleştirebileceğimizi aktarmaya çalışıyorum. Katalogda bulunan kodlar arasında yer almayan, 5 sürekli değişkenin olduğu veri setini görselleştirmeden önce, bir veri seti oluşturalım:

datanotlar3 <- data.frame(nesil = c("X", "Y", "BB", "Z", "S", "S", "Y", "BB", "Z", "S", "X", "Y", "Z", "BB", "Z"),
gazete = c(4, 2, 7, 1, 9, 8, 1, 8, 3, 5, 3, 5, 1, 4, 5),
radyo = c(6, 6, 3, 8, 4, 5, 5, 3, 5, 8, 2, 4, 5, 3, 5),
televizyon = c(6, 5, 8, 1, 9, 6, 5, 4, 2, 8, 4, 6, 3, 2, 1),
telefon = c(9, 6, 8, 5, 9, 4, 5, 8, 9, 8, 7, 8, 9, 8, 7),
dergi = c(3, 2, 4, 2, 3, 5, 5, 7, 3, 8, 4, 6, 7, 5, 7))

Görüştüğümüz 15 kişiye yaşlarını sorduğumuzu ve iletişim araçlarıyla ilişkilerini 10 üzerinden değerlendirmeleri istediğimizi düşünelim. Bu hayali görüşmelerden elde ettiğimiz bilgileri data.frame komutu ile yukarıdaki veri setine dönüştürelim. Bu veri setinin tablo görünümünü aşağıda paylaşıyorum:

nesil
<fctr>
gazete
<dbl>
radyo
<dbl>
televizyon
<dbl>
telefon
<dbl>
dergi
<dbl>
X
4
6
6
9
3
Y
2
6
5
6
2
BB
7
3
8
8
4
Z
1
8
1
5
2
S
9
4
9
9
3
S
8
5
6
4
5
Y
1
5
5
5
5
BB
8
3
4
8
7
Z
3
5
2
9
3
S
5
8
8
8
8
X
3
2
4
7
4
Y
5
4
6
8
6
Z
1
5
3
9
7
BB
4
3
2
8
5
Z
5
5
1
7
7

Oluşturduğumuz veri seti uzunca bir tabloya dönüştü. Fakat bizim istediğimiz basit bir görselleştirme üzerinden durumu görmek. Bunun için kullanmamız gereken komutlar şöyle olmalı:

library("ggplot2")

ggplot(datanotlar3, aes(nesil, y = value)) + 
geom_jitter(aes(y = gazete, col = "gazete")) + 
geom_jitter(aes(y = radyo, col = "radyo")) + 
geom_jitter(aes(y = televizyon, col = "televizyon")) + 
geom_jitter(aes(y = telefon, col = "telefon")) + 
geom_jitter(aes(y = dergi, col = "dergi"))

Öncelikle library komutuyla “ggplot” kütüphanesini çalıştırdım. Eğer bu kütüphane sizde yoksa install.packages komutu ile bu kütüphaneyi indirmelisiniz. Daha sonra her sürekli değişken için ayrı ayrı geom_jitter fonksiyonunu kullandım. Şimdi grafiğe bakınca çıkarımlar yapmak daha kolay oldu. Görselde “minik” oynamalar yapmak istiyorum. Öncelikle labs komutunu kullanarak isimleri değiştirelim.      

datanotlar3 <- data.frame(nesil = c("X", "Y", "BB", "Z", "S", "S", "Y", "BB", "Z", "S", "X", "Y", "Z", "BB", "Z"),
gazete = c(4, 2, 7, 1, 9, 8, 1, 8, 3, 5, 3, 5, 1, 4, 5),
radyo = c(6, 6, 3, 8, 4, 5, 5, 3, 5, 8, 2, 4, 5, 3, 5),
televizyon = c(6, 5, 8, 1, 9, 6, 5, 4, 2, 8, 4, 6, 3, 2, 1),
telefon = c(9, 6, 8, 5, 9, 4, 5, 8, 9, 8, 7, 8, 9, 8, 7),
dergi = c(3, 2, 4, 2, 3, 5, 5, 7, 3, 8, 4, 6, 7, 5, 7))

library("ggplot2")

ggplot(datanotlar3, aes(nesil, y = value)) + 
geom_jitter(aes(y = gazete, col = "gazete")) + 
geom_jitter(aes(y = radyo, col = "radyo")) + 
geom_jitter(aes(y = televizyon, col = "televizyon")) + 
geom_jitter(aes(y = telefon, col = "telefon")) + 
geom_jitter(aes(y = dergi, col = "dergi")) + labs(color="Kategoriler") + labs(y="Değer")

Daha sonra x ekseninde yer alan nesillerin sıralarını düzeltmemiz gerekiyor. Burada ise xlim komutunu kullanacağız:

datanotlar3 <- data.frame(nesil = c("X", "Y", "BB", "Z", "S", "S", "Y", "BB", "Z", "S", "X", "Y", "Z", "BB", "Z"),
gazete = c(4, 2, 7, 1, 9, 8, 1, 8, 3, 5, 3, 5, 1, 4, 5),
radyo = c(6, 6, 3, 8, 4, 5, 5, 3, 5, 8, 2, 4, 5, 3, 5),
televizyon = c(6, 5, 8, 1, 9, 6, 5, 4, 2, 8, 4, 6, 3, 2, 1),
telefon = c(9, 6, 8, 5, 9, 4, 5, 8, 9, 8, 7, 8, 9, 8, 7),
dergi = c(3, 2, 4, 2, 3, 5, 5, 7, 3, 8, 4, 6, 7, 5, 7))
library("ggplot2")
ggplot(datanotlar3, aes(nesil, y = value)) + 
geom_jitter(aes(y = gazete, col = "gazete")) + 
geom_jitter(aes(y = radyo, col = "radyo")) + 
geom_jitter(aes(y = televizyon, col = "televizyon")) + 
geom_jitter(aes(y = telefon, col = "telefon")) + 
geom_jitter(aes(y = dergi, col = "dergi")) + labs(color="Kategoriler") + labs(y="Değer")
xlim("S", "BB", "X", "Y", "Z")

Son olarak ise estetik bir değişiklik yapmamız, görseli daha karakteristik bir biçime dönüştürecektir. Burada ise öncelikle “ggthemes” kütüphanesini kurmamız gerekiyor. Daha sonra ise dönüştürmek istediğimiz temanın fonksiyonlarını kullanacağız:

datanotlar3 <- data.frame(nesil = c("X", "Y", "BB", "Z", "S", "S", "Y", "BB", "Z", "S", "X", "Y", "Z", "BB", "Z"),
gazete = c(4, 2, 7, 1, 9, 8, 1, 8, 3, 5, 3, 5, 1, 4, 5),
radyo = c(6, 6, 3, 8, 4, 5, 5, 3, 5, 8, 2, 4, 5, 3, 5),
televizyon = c(6, 5, 8, 1, 9, 6, 5, 4, 2, 8, 4, 6, 3, 2, 1),
telefon = c(9, 6, 8, 5, 9, 4, 5, 8, 9, 8, 7, 8, 9, 8, 7),
dergi = c(3, 2, 4, 2, 3, 5, 5, 7, 3, 8, 4, 6, 7, 5, 7))library("ggplot2")
install.packages("ggthemes")
library("ggthemes")ggplot(datanotlar3, aes(nesil, y = value)) + 
geom_jitter(aes(y = gazete, col = "gazete")) + 
geom_jitter(aes(y = radyo, col = "radyo")) + 
geom_jitter(aes(y = televizyon, col = "televizyon")) + 
geom_jitter(aes(y = telefon, col = "telefon")) + 
geom_jitter(aes(y = dergi, col = "dergi"+
labs(color="Kategoriler") + labs(y="Değer") + xlim("S", "BB", "X", "Y", "Z") + theme_economist() + scale_colour_economist()))

Son değişikliklerle birlikte ortaya çıkan görselimizi paylaşıyorum:

Bu çalışmada olduğu gibi görselleştirme denemelerini ve örneklerini paylaşmaya devam edeceğim. İleri seviye örnekler için ise benim de yararlandığım aşağıdaki üç kaynağın okunmasında yarar görüyorum:

Beautiful plotting in R: A ggplot2 cheatsheet

ggplot2: Elegant Graphics for Data Analysis

ggthemes: Extra themes for ggplot

Share

Bir yanıt yazın

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