Önceki bölümlerde, verinin anlık fotoğraflarını çekmek için harika
makineler (geom_point
, geom_bar
,
geom_boxplot
) kullandık. Ancak bazı hikayeler, tek bir
kareye sığmaz. Bu hikayeler, bir yolculuğu, bir değişimi, bir trendi
anlatır.
Bu bölümde, ggplot2
atölyesindeki bu özel hikaye anlatma
araçlarını, yani zaman makinemizi tanıyacağız: *
geom_line()
: Gözlemleri birleştirerek bir
yolculuğun patikasını çizer. *
geom_area()
: O yolculuğun altındaki alanı
doldurarak, hacmi ve etkiyi vurgular.
Bu aletlerle, bir ekonomik göstergenin yıllar içindeki seyrini, bir hastanın günlere göre ateşinin değişimini veya bir hisse senedinin aylar içindeki iniş çıkışlarını görselleştireceğiz.
Hazırsanız, verinin geçmişinden geleceğine uzanan bu yolculuğa başlayalım!
library(tidyverse)
geom_line()
Amaç: Sıralı gözlemler (genellikle zaman içinde) arasındaki değişimi ve trendi göstermek.
geom_line()
, x
eksenindeki değerlere göre
sıralanmış noktaları düz çizgilerle birleştirir. Bu yüzden,
x
estetiği genellikle bir tarih veya sıralı bir sayısal
değişkendir.
Bu bölümde, R ile birlikte gelen economics
veri setini
kullanacağız. Bu veri seti, ABD’nin 1967’den 2015’e kadar olan aylık
ekonomik verilerini içerir.
Soru: Yıllar içinde işsizlik oranının
(unemploy
sütunu, bin kişi olarak) nasıl değiştiğini
görelim.
# `economics` veri setinin yapısına hızlıca bakalım
glimpse(economics)
## Rows: 574
## Columns: 6
## $ date <date> 1967-07-01, 1967-08-01, 1967-09-01, 1967-10-01, 1967-11-01, …
## $ pce <dbl> 506.7, 509.8, 515.6, 512.2, 517.4, 525.1, 530.9, 533.6, 544.3…
## $ pop <dbl> 198712, 198911, 199113, 199311, 199498, 199657, 199808, 19992…
## $ psavert <dbl> 12.6, 12.6, 11.9, 12.9, 12.8, 11.8, 11.7, 12.3, 11.7, 12.3, 1…
## $ uempmed <dbl> 4.5, 4.7, 4.6, 4.9, 4.7, 4.8, 5.1, 4.5, 4.1, 4.6, 4.4, 4.4, 4…
## $ unemploy <dbl> 2944, 2945, 2958, 3143, 3066, 3018, 2878, 3001, 2877, 2709, 2…
# geom_line kullanarak çizgi grafiğini oluşturalım
ggplot(data = economics, mapping = aes(x = date, y = unemploy)) +
geom_line() +
labs(
title = "ABD'de Yillara Gore Issiz Sayisi (1967-2015)",
x = "Yil",
y = "Issiz Sayisi (Bin Kisi)"
)
ABD’de Yıllara Göre İşsiz Sayısı Değişimi
Bu basit çizgi grafiği bile, 1980’lerin başı, 2000’lerin başı ve 2008 krizi sonrası gibi dönemlerdeki büyük işsizlik artışlarını net bir şekilde gösteriyor.
geom_area()
geom_line
, bir trendin yönünü
ve değişimini göstermek için harikadır. Ancak bazen, bizim
hikayemiz sadece trendin yönü değil, aynı zamanda o trendin yarattığı
toplam hacim, birikim veya etki alanıdır. İşte bu
noktada, atölyemizdeki geom_area
makinesi devreye
girer.
geom_area()
, bir çizginin altındaki alanı doldurarak, o
çizginin temsil ettiği miktarın zaman içindeki büyüklüğünü ve
kümülatif etkisini görsel olarak vurgular.
geom_line
’ın Yetersiz Kaldığı An: Parçaların Bütüne
Etkisigeom_line
ile birden fazla grubun trendini
karşılaştırdığımızda, her bir çizgi kendi başına bir hikaye anlatır.
Peki ya bizim amacımız, bu grupların bir araya gelerek
oluşturduğu bütünü ve her bir grubun o bütündeki
payını göstermekse?
Yeni Senaryomuz: ABD’deki farklı ekonomik
sektörlerin (kişisel tüketim, yatırımlar, devlet harcamaları vb.) zaman
içinde toplam ekonomiye (economics_long
veri seti) nasıl
katkıda bulunduğunu görelim.
# economics_long veri seti, farklı ekonomik göstergeleri tek bir sütunda toplar.
glimpse(economics_long)
## Rows: 2,870
## Columns: 4
## $ date <date> 1967-07-01, 1967-08-01, 1967-09-01, 1967-10-01, 1967-11-01, …
## $ variable <chr> "pce", "pce", "pce", "pce", "pce", "pce", "pce", "pce", "pce"…
## $ value <dbl> 506.7, 509.8, 515.6, 512.2, 517.4, 525.1, 530.9, 533.6, 544.3…
## $ value01 <dbl> 0.0000000000, 0.0002652497, 0.0007615234, 0.0004706043, 0.000…
# Sadece 4 ana ekonomik bileşeni filtreleyelim
eco_summary <- filter(economics_long,
variable %in% c("psavert", "pce", "uempmed", "unemploy"))
Eğer bu veriyi geom_line
ile çizseydik, dört ayrı,
birbiriyle kesişen ve yorumlaması zor bir çizgi yumağı elde ederdik.
Ancak geom_area
ile, bu parçaların bütünü nasıl
oluşturduğunu görebiliriz.
geom_area
’nın Parladığı An: Yığılmış Alan Grafiği
(Stacked Area Chart)geom_area
’nın asıl gücü, farklı grupları
(fill
estetiği ile) üst üste yığarak, hem toplamın zaman
içindeki değişimini hem de her bir parçanın o toplamdaki payının nasıl
değiştiğini göstermesidir.
Bu gücü görmek için, economics_long
veri setindeki 4 ana
ekonomik bileşeni filtreleyelim. Bu bileşenlerin anlamları
şunlardır:
pce
: Personal Consumption Expenditures (Kişisel Tüketim
Harcamaları - Ekonominin en büyük motoru)psavert
: Personal Saving Rate (Kişisel Tasarruf
Oranı)uempmed
: Median Duration of Unemployment (Ortalama
İşsizlik Süresi - Haftalık)unemploy
: Number of Unemployed (Toplam İşsiz Sayısı -
Bin kişi olarak)# Sadece 4 ana ekonomik bileşeni filtreleyelim
eco_summary <- filter(economics_long,
variable %in% c("psavert", "pce", "uempmed", "unemploy"))
Şimdi bu dört farklı hikayeyi, tek bir anlamlı bütünde anlatalım:
ggplot(data = eco_summary,
mapping = aes(x = date, y = value01, fill = variable)) +
geom_area() +
labs(
title = "ABD Ekonomik Bilesenlerinin Zaman Icindeki Degisimi",
subtitle = "Farklı sektorlerin toplam icindeki payi (normalize edilmis)",
x = "Yil",
y = "Toplam Deger Icindeki Pay",
fill = "Ekonomik Gosterge"
)
ABD Ekonomik Bileşenlerinin Zaman İçindeki Payı
Grafiği Yorumlayalım:
İşte geom_area
’nın geom_line
’ın
yapamadığını yaptığı yer burasıdır. Bu grafikte:
Örneğin, pce
(Kişisel Tüketim Harcamaları, pembe alan)
her zaman en büyük paya sahipken, unemploy
(İşsiz Sayısı,
turkuaz alan) gibi diğer bileşenlerin payının kriz dönemlerinde nasıl
arttığını bir bakışta görebiliriz. Bu hikayeyi, birbiriyle kesişen dört
ayrı çizgi grafiğiyle anlatmak neredeyse imkansız olurdu.
Ustanın Kararı:
geom_line
en iyi aletinizdir.geom_area
paha biçilmez bir
hikaye anlatıcısıdır.Dostlar, tebrikler! Artık atölyenizdeki zaman makinesini, yani
geom_line
ve geom_area
’yı kullanmayı
öğrendiniz. Verinin sadece anlık bir fotoğrafını değil, zaman içindeki
yolculuğunu ve bu yolculuktaki trendleri de anlatabilecek güce
sahipsiniz.
Şimdiye kadar, farklı grupları (geom_bar
,
geom_boxplot
) ve zaman içindeki trendleri
(geom_line
) karşılaştırdık. Peki ya tek bir grubun, tek bir
değişkenin kendi içindeki “ruhunu”, yani
dağılımının şeklini anlamak isteseydik?
Bu soruyu cevaplamak için, atölyemizdeki en hassas ölçüm cihazları
olan geom_histogram
ve geom_density
’yi
kullanacağız. Ancak bu hassas cihazları kullanmaya başlamadan önce,
onların neyi ölçtüğünü tam olarak anlamamız gerekiyor.
Bu yüzden, bir sonraki durağımız teknik bir mola olacak: “Bölüm 4.5: Verinin Ruhu - Dağılımları Anlamak”. Bu yeni ara bölümde, temel istatistik kavramlarını (ortalama, medyan, çarpıklık, basıklık) hızlıca hatırlayacak ve bir dağılımın “şeklinin” bize ne gibi hikayeler anlattığını keşfedeceğiz.
Bu teorik hazırlıkla, geom_histogram
’ın bize fısıldadığı
sırları çok daha iyi duyabileceğiz. Önce pusulayı ayarlayalım, sonra
keşfe çıkalım. Macera devam ediyor!