Ben bu derse gelememiştim. Kitaptan adım adım takip ederek tekrar ettim. Sınavda ggplot ile ilgili soru soracağınızı belirttiğiniz için özellikle o bölümü daha iyi kavrayabilemek için uğraştım. ggplot fonksiyonu ile grafik çizmek gerçekten hoşuma gitti. Yaptığımız analizi görselleştirmeyi sevdim, yani yazdığım kodla somut bir şey elde etmiş gibi olduğu için keyif aldım çalışırken diyebilirim.

  • Öncelikle bu ders için gerekli paketleri aktifleştirdim.
library(dplyr)
library(tidyr)
library(tibble)  
library(haven)
library(haven)
library(sjlabelled)
  • Daha sonra veri setlerini yükledim.
load("D:/OLC_731/rpubs/Hafta_08/data/PISA_COG_2018.rda")
load("D:/OLC_731/rpubs/Hafta_08/data/PISA_OGR_2018.rda")
load("D:/OLC_731/rpubs/Hafta_08/data/PISA_SCH_2018.rda")
load("D:/OLC_731/rpubs/Hafta_08/data/miniPISA.rda")
load("D:/OLC_731/rpubs/Hafta_08/data/midiPISA.rda")

BETİMLEYİCİ İSTATİSTİKLER

Veri setlerini düzenlerken en sık kullanılan veri setleri kitabın kapsamına dahil edilmiş.

Minimum ve Maksimum Değerler

min() ve max() fonksiyonları, bir veri kümesindeki en küçük ve en büyük değeri bulmada kullanılır. Yani bir veri setindeki en uç değerleri gösterir.

minimum_deger<-min(midiPISA$ODOKUMA2) # minimum değer hesaplama
minimum_deger
## [1] 166.622
maximum_deger<-max(midiPISA$ODOKUMA2) # maksimum değer hesaplama
maximum_deger
## [1] 729.878

range() fonksiyonu, doğrudan minimum ve maksimum değerleri(bu sırayla) verir.

midiPISA$ODOKUMA2 <- as.numeric(midiPISA$ODOKUMA2) 
minimum <- range(midiPISA$ODOKUMA2, na.rm = TRUE)[1]  
minimum
## [1] 166.622
maximum<-range(midiPISA$ODOKUMA2, na.rm = TRUE)[2]
maximum
## [1] 729.878

Ortalama

Ortalama mean() fonksiyonu ile hesaplanır. En sık kullanılan merkezi eğilim ölçüsüdür ancak uç değerlerden etkilenir. Veri setinde eksik veriler bulunduğunda na.rm = TRUE kullanılarak analizden hariç tutulabilir.

ortalama<-mean(midiPISA$ODOKUMA2, na.rm = TRUE) # ortalama hesaplama
ortalama
## [1] 464.4204

Medyan(Ortanca)

Veri kümesi sıralandıktan sonra ortada kalan değeri medyan gösterir. Medyan median(), veri kümesindeki aşırı uç değerlerden çok az etkilenir ve veri kümesinin merkezi eğilimini ortalamaya göre daha doğru bir şekilde gösterir.

medyan<-median(midiPISA$ODOKUMA2) # medyan hesaplama
medyan
## [1] 465.9175

I. ve III. Çeyrekler

Bir veri kümesinin belirli yüzdelik dilimlerini (quantiles) hesaplamak için kullanılır. Quantiles, verileri belirli bir oranda bölen değerlerdir ve genellikle verinin dağılımını anlamak için kullanılır.

q1<-quantile(midiPISA$ODOKUMA2,0.25) # I. çeyrek hesaplama
q1
##      25% 
## 403.4538
q3<-quantile(midiPISA$ODOKUMA2,0.75) # III. çeyrek hesaplama
q3
##      75% 
## 525.3202

Veri kümesinin merkezi eğilimi ve yayılımı hakkında bilgi edinmek için önemlidir.

Standart sapma ve varyans

Standart sapma sd(), bir veri kümesindeki değerlerin ortalama etrafında ne kadar yayılma gösterdiğini ölçer. Varyans var(), veri kümesindeki değerlerin ortalama etrafında ne kadar dağıldığını gösteren bir ölçüdür. Standart sapma ile aynı bilgiyi sağlar, ancak birim olarak daha farklıdır.

standart_sapma<-sd(midiPISA$ODOKUMA2) # standart sapma hesaplama
standart_sapma
## [1] 87.696
varyans<-var(midiPISA$ODOKUMA2) # varyans hesaplama
varyans
## [1] 7690.589

Tüm özet istatistikler

summary() fonksiyonu betimleyici istatistikleri özetler.

summary_stats <- summary(midiPISA$ODOKUMA2) # betimleyici istatistiklerin özeti
summary_stats
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   166.6   403.5   465.9   464.4   525.3   729.9

Bu tanımlayıcı istatistikleri gruba göre hesaplamak istenirse by() fonksiyonu kullanıılır.

# gruplara göre betimleyici istatistiklerin özeti
by(midiPISA$ODOKUMA2, midiPISA$SINIF, summary) 
## midiPISA$SINIF: 7
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   252.6   263.5   274.3   302.6   327.6   380.9 
## ------------------------------------------------------------ 
## midiPISA$SINIF: 8
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   234.2   324.7   364.5   364.1   385.2   512.4 
## ------------------------------------------------------------ 
## midiPISA$SINIF: 9
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   166.6   360.5   430.0   438.2   511.2   722.4 
## ------------------------------------------------------------ 
## midiPISA$SINIF: 10
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   220.3   413.3   473.3   471.4   528.4   729.9 
## ------------------------------------------------------------ 
## midiPISA$SINIF: 11
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   237.2   401.3   466.5   461.5   515.7   670.1 
## ------------------------------------------------------------ 
## midiPISA$SINIF: 12
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   237.2   322.7   403.6   380.4   427.7   506.4

Daha açıklayıcı istatistiklere ihtiyaç varsa, psych paketindeki describe() fonksiyonu kullanılmalıdır.

library(psych)
describe(midiPISA %>% 
  select(SINIF,ODOKUMA2)) # özetleyici istatistiklerinin hesaplanması

Değişkenlik katsayısı

Değişkenlik katsayısı, standart sapmanın ortalamaya oranıdır ve farklı birimler veya ölçeklerdeki veri setlerini karşılaştırmak için kullanılır. stat.desc() ile hesaplanır.

library(pastecs) # paketin aktifleştirilmesi
round(stat.desc(midiPISA %>% 
  select(SINIF,OKUMA_ZEVK)),2)  # değişkenlik katsayısının hesaplanması

Mod

Mod, bir veri kümesindeki en sık rastlanan değeri gösterir. Bir değişkenin modunu bulmak için table() ve sort() fonksiyonları kullanarak hesaplanmalıdır.

mod_tab <- table(midiPISA$Baba_Egitim) # her benzersiz değer için oluşum sayısı
mod_tab
## 
##    0    1    2    3    4    5    6 
##  263 1456 1708  669  530  889 1318
mod_sort<-sort(mod_tab, decreasing = TRUE) # en yüksekten en düşüğe doğru sıralama
mod_sort
## 
##    2    1    6    5    3    4    0 
## 1708 1456 1318  889  669  530  263

Baba eğitim değişkenindeki en sık rastlanan değer 2’dir.

Frekans tablosu oluşturma

Frekans tablosu, veri setinin demografik özelliklerini kolay bir şekilde anlamamızı sağlar.

midiPISA %>%
  group_by(Baba_Egitim) %>% # Baba_Egitim e göre gruplandırma
  count() %>%  # frekans tablosu oluşturma
  ungroup() # gruplandırmanın kaldırılması
  • group_by() fonkisyonu veri setinin yüzey düzeyinde değişikliklere neden olmaz, bunun yerine temel yapıyı değiştirir, böylece gruplar belirtilirse, daha sonra çağrılan fonksiyonlar gruplama değişkeninin her düzeyinde ayrı ayrı gerçekleştirilir. Bu gruplama oluşturulan nesnede kalır, bu nedenle nesne üzerinde gelecekte yapılacak işlemlerin gruplar tarafından bilinmeden gerçekleştirilmesini önlemek için ungroup() ile kaldırılması önemlidir

Benzer şekilde, örneklemin ortalama başarısı (ve SD’sini) hesaplanmak istendiğinde dplyr/tidyverse paketindeki summarise() fonkisyonu kullanılabilir.

bilgi<-midiPISA %>%
  summarise(ort = mean(ODOKUMA2), # ortalama
            sd = sd(ODOKUMA2),    # standart sapma 
            n = n())              # frekans hesaplama
bilgi

R dilinde, betimleyici istatistikler veri kümesini anlayıp özetlemenin en temel yollarından biridir.

VERİ GÖRSELLEŞTİRME

R dilinde veri görselleştirme için en popüler ve güçlü paketlerden birinin ggplot2() olduğunu öğrendim. Gerçekten karmaşık verileri görselleştirerek daha kolay anlaşılmasını sağlıyor. Hem estetik açıdan hoş hem de işlevsel grafiklerin oluşturulmasını sağlıyor. Bu nedenle ggplot2 paketine “Grammar of Graphics” (Grafik Dilinin Grameri) deniliyormuş.

Grafikler oluşturulurken, genellikle birden fazla değişkene ilişkin gözlemlerin yer aldığı veri setleri kullanılır. Grafik çizimlerinde grup değişkenlerine ihtiyaç duyulduğu için kategorik değişkenler as.factor() fonksiyonuyla kategorik hâle getirilmiştir. Ardından faktör değişkenlerine düzeyler atanmıştır.

library(tidyverse)
library(dplyr)
library(magrittr)
library(haven)
library(plotly)
load("data/PISA_OGR_2018.rda")
miniPISA <- PISA_OGR_2018 %>%
select(CINSIYET, SINIF,KITAPSAYISI, SES, Anne_Egitim, Baba_Egitim,Okuloncesi_yil,OKUL_TUR,OKUMA_ZEVK,
       OK_YETERLIK,ODOKUMA1) 
# kategorik değişkenlerin faktör olarak kaydı
miniPISA<- miniPISA %>% mutate_if(is.labelled, sjlabelled::as_factor)
# Faktör değiskenlere düzey atama amacıyla yazılan fonksiyon
levelsnames <- function(x){
  levels(x) <- names(attr(x,"labels"))
  x
}
# yazılan fonksiyonun faktör değişkenlere uygulanması
miniPISA <-mutate_if(miniPISA,is.factor, levelsnames)
head(miniPISA)

ggplot2

ggplot paketi, birden çok değişkeni aynı grafik üzerinde göstermek ve veriler arasındaki çok düzeyli ilişkileri özetlemek amacıyla geliştirilmiştir. Bu bölümde yer alan tüm grafiklerin başlığı, x ve y eksenleri etiketleri, rengi vb. düzenlemeler yapılarak özelleştirilebilir. Katman mantığıyla çalıştıklarından metin ekleme, renklendirme, açıklama kutucukları vb. özelleştirmeler toplama işareti(+) ile kodlara eklenebilmektedir. ggplot2 paketinde yer alan temel fonksiyonlar; qplot() ve ggplot() fonksiyonlarıdır. qplot(), hızlı grafik (quick plot) çizimi anlamına gelmektedir. Bu fonksiyonların kullanımı;

qplot(x, y, data, geom)
ggplot(x, y, data, geom)
ggplot( data, aes(x, y)) + geom.grafikismi()

Burada yer alan aes() argümanı her bir değişkenin alacağı rolü belirlemede kullanılır. aes() fonksiyonu değişkenleri sadece olduğu gibi değil özelleştirilmiş şekilde grafiğe dönüştürmeye olanak vermektedir. data argümanı ile veri setleri üzerinden grafiklerin çizimi yapılmaktadır. geom() fonksiyonu “ggplot2” paketinde çizilecek grafiğin türünü belirlemek amacıyla kullanılır. Örneğin yoğunluk grafiği çizilmek istendiğinde aşağıdaki iki kod kullanılabilir.

ggplot(x, y, data, geom="density") 
ggplot( data, aes(x, y)) + geom.density()

Yoğunluk grafikleri

Yoğunluk grafiği, dağılımın şekli hakkında daha detaylı bilgi verir ve grafiğin tepe yaptığı noktalar x eksenindeki değerlerin en çok nerede yoğunlaştığını gösterir. Bu da veri setini anlamamızda bize yardımcı olur. Genellikle belli bir zamana göre yoğunluk grafiği çizdirilir fakat midiPISA veri setinde zamana ilişkin bir değişken olmadığından okuma olası değer 2’nin yoğunluk grafiği çizdirilmiştir.

ggplot(midiPISA, aes(x = ODOKUMA2)) +
  geom_density(linetype="dashed", fill = "purple", alpha = 0.5) +
  labs(title = "Okuma Puanlarının Yoğunluğu", x = "Okuma Puanları", y = "Yoğunluk")

Histogram

Veri kümesinin dağılımını görselleştirmek için histogramlar çok sık kullanılır. Özellikle de frekansları göstermek için etkilidir.

ggplot(midiPISA, aes(x = ODOKUMA2)) +
  geom_histogram(binwidth = 50, fill = "lightblue", color = "red") +
  labs(title = "Okuma Puanları Histogramı", x = "Okuma Puanları", y = "Frekans")

En az aralık ölçeğindeki değişkenlerin frekans dağılımlarının betimlenmesinde kullanıldığından sütunlar arası boşluk içermemektedir. ggplot2 paketi katman mantığı ile çalışan bir paket olduğundan “+” işareti ile katmanlar birbirine eklenerek ayrıntılı grafikler oluşturulabilir. Aşağıda bununla ilgili örnekler verilmiştir:

grafik_1 <- ggplot(miniPISA, aes(x=ODOKUMA1))
grafik_1 +
  geom_histogram()  +       
  facet_wrap(~CINSIYET, ncol=2) # cinsiyet değişkenindeki faktörlerin sütunda yer alması

 ggplot(midiPISA, aes(x=ODOKUMA2)) +
  geom_histogram()+  #histogram çizilmesi
  facet_grid(Anne_Egitim~CINSIYET) # anne eğitim ve cinsiyete göre yüzey eklenmesi

Gruplama değişkenleri

Veri seti görselleştirilirken kategorik değişkenlere göre gruplandırmanın verilerin anlaşılırlığını artırdığını söyleyebiliriz. Örneğin, grafikler oluşturulurken cinsiyet değişkeninin grup olarak belirlendiği durumda color() argümanı yardımıyla gruplar oluşturularak grafikler çizilebilir.

Örnek:

ggplot(
      miniPISA %>% 
      group_by(Anne_Egitim,CINSIYET) %>% 
      mutate(ort=mean(ODOKUMA1)) %>%  
        ungroup(), 
     aes(x=Anne_Egitim, y=ort, color=CINSIYET )) + 
  geom_point() +  
  xlab("Sınıf Duzeyi")+ 
  ylab("Ortalama Puan")

Grafik nesnesi

Grafikler daha sonradan kullanılmak üzere kaydedilmek istendiğinde herhangi bir isim ile bir nesneye atanmalıdır. Örnekte oluşturulan saçılım grafiği “p1” nesnesine atanmıştır.

p1 <- ggplot(midiPISA, aes(x=Anne_Egitim, y=ODOKUMA2)) + # x ve y eksenlerini belirleme
  geom_point() # saçılım grafiği çizme
p1

Aesthetics

Estetik, çizilmiş verinin görsel bir özelliğini ifade etmektedir. ggplot2 paketinin kullandığı estetik özellikler bulunmaktadır. Bunlar; color: nokta ve diğer şekillerin renklerini, fill: sekil içi doldurma rengini, size: noktaların büyüklüğünü, çizgilerin kalınlığı/inceliğini, alpha: saydamlık derecesini, linetype: kesikli çizgi tiplerini, labels: eksen veya grafik etiketlerini, shape: şekilleri görselleştirmede kullanılır. Bunlara bazı örnekler aşağıda gösterilmiştir:

ggplot(miniPISA, aes(CINSIYET, OKUMA_ZEVK)) +
  geom_point(color = "green") # saçılım grafiğinin rengini seçme

ggplot(miniPISA, aes(CINSIYET, OKUMA_ZEVK)) +
  geom_point(color = "red",size=6, shape="k") # saçılım grafiğinin rengini, büyüklüğünü ve şeklini seçme

ggplot(miniPISA, aes(SINIF, OKUMA_ZEVK, color = CINSIYET)) + # cinsiyete göre gruplandırma
  geom_point() # saçılılm grafiği çizme

Katmanlar

Her komut bir öncekine artı sembolü (+) ile eklenerek çok katmanlı bir çizim nesnesi oluşturulur. Grafiklerin katman katman oluşturulması, veriyi daha anlamlı ve açıklayıcı hale getirmeye imkan sağlıyor. Temel olarak ggplot() fonksiyonu ile başlanır ve geom katmanları ile histogram, saçılım, frekans gibi grafik türleri eklenir. Daha sonra ise eksen etiketleri, başlık, yazı tipleri, boyutlar, renk şemaları, şekiller gibi tasarımla ilgili parametreler çizime eklenir.

ggplot(miniPISA, aes(x = as.numeric(ODOKUMA1), y = as.numeric(OKUMA_ZEVK), color = as.factor(CINSIYET))) +
  geom_point() +
  labs(
    title = "Okuma Puanları ve Okuma Zevki İlişkisi",
    x = "Okuma Puanları",
    y = "Okuma Zevk Puanları",
    color = "Cinsiyet"
  )

Başta karışık gibi geldi ama yazdıkça daha iyi anlayabildim. Katmanlardan oluşmusa ve birbirine “+” işareti ile birçok özelliğin eklenebilmesi paketi oldukça kullanışlı hale getiriyor diyebilirim.

Alpha

Grafiklerde alpha() parametresi ile şeffaflık düzeyini kontrol edebilmek, karmaşık ve yoğun veri setlerinde kullanışlı olabilmektedir. Bu parametre ile veri setimizi daha iyi görselleştirebiliyoruz.

ggplot(miniPISA, aes(ODOKUMA1, OKUMA_ZEVK, color = CINSIYET)) +
  geom_point(alpha = 0.5)

Text

geom_text() fonksiyonu ile metinler veri sembolü olarak grafiğe eklenebilir. Gösterim amacıyla veri setinin sadece ilk 10 satırı kullanılmıştır.

ggplot(miniPISA[1:10,], aes(ODOKUMA1, OKUMA_ZEVK)) +
  geom_text(aes(label = CINSIYET))

Scale

ggplot2 paketinde, **scale_*()** fonksiyonları çeşitli çizim estetiğinin ölçeklerini özelleştirmek için kullanılır. scale_*() fonksiyonları, grafiklerin görünümünde ince ayar yapmak ve iletmek istenilen bilgileri etkili bir şekilde iletmeyi sağlamak için esnek bir yol sağlar.

sekiller <- data.frame(sekil = 0:24)
ggplot(sekiller, aes(0, 0, shape = sekil)) +
  geom_point(aes(shape = sekil), size = 5, fill = 'red') +
  scale_shape_identity() +
  facet_wrap(~sekil) +
  theme_void()

Limits

limits() argümanı ile sınırlar belirlenir. Örneğin x ekseninin minimum ve maksimum değerleri belirlenmek isteniyorsa aşağıdaki örnekteki gibi bu argüman kullanılır.

ggplot(miniPISA, aes(x = ODOKUMA1,y = OKUMA_ZEVK,color = CINSIYET)) + # cinsiyete göre gruplandırma
geom_point(position = "jitter") +  # üst üste gelen noktaları kaydırma 
scale_x_continuous("Okuma Zevk Puanları",limits = c(100,900)) + # x eksenindeki okuma puanlarını sınırlandırma
scale_color_discrete("Cinsiyet",labels=c("KIZ","ERKEK"))  # cinsiyete göre 

Breaks

breaks=seq() fonksiyonu ile eksenin sınırları ve ayrımı belirlenir. seq() içine sırasıyla eksenin başlayacağı sayı, biteceği sayı ve kaçar kaçar ilerleneceği yazılır.

ggplot(miniPISA, aes(x = ODOKUMA1,
y = OKUMA_ZEVK,
color = CINSIYET)) +
geom_point(position = "jitter") +
scale_x_continuous("Okuma Zevk Puanları",limits = c(100,900),
         breaks=seq(100,900,100)) +
  scale_color_discrete("Cinsiyet")

Labs

labs argümanı ile etiketleme eklenir. Grafik eksenleri (x ve y), başlık(title), alt başlık(subtitle) ve grup (color) isimlendirmeleri yapılır.

ggplot(miniPISA, aes(x = ODOKUMA1,
y = OKUMA_ZEVK,
color = CINSIYET)) +
geom_point(position = "jitter") +
  labs(x = "\nBasari Puanları",
       y = "\nYeterlik Puanları",
       color = "Grup")

Bar grafikleri

En sık kullanılan grafiklerden olan bar grafikleri ya da sütun grafikleri frekansların dağılımını vermektedir. En çok kullanılan dikeyde frekansların yatay eksende ise değişken ve değişken kategorilerinin yer aldığı dikey versiyondur. Ayırıcı özelliği ise sütunlar arasında boşluk olmasıdır. Bu durum sıralama ve sınıflama ölçeğindeki verilerin görselleştirilmesinde kullanılan grafik türü olmasından kaynaklanmaktadır.

ggplot(miniPISA, aes(CINSIYET, fill = SINIF)) + geom_bar() + # sütun grafiği
  labs(x = "Cinsiyet",
       y = "Frekans") #etiketleme yapılması

Çizgi grafikleri

Veri setindeki gözlemlerin çizgilerle birleştirildiği çizgi grafikleri, x ekseninde genellikle zamanın yer aldığı verilerin zamana göre değişimi hakkında bilgi verir. Yıllara göre değişimi gösteren bir grafik elde etmek için 2009, 2012 , 2015 , 2018 veri setleri içlerinden okuma olası puanları (PV1READ) ve okuma olası puanları (ESCS) seçilerek R ortamına aktarılmıştır.

library(tuev)
PISA2009 <-PISA_STU_2009 %>% 
  select(PV1READ,ESCS) %>% 
  mutate(YIL=2009)

PISA2012 <-PISA_STU_2012 %>% 
  select(PV1READ,ESCS) %>% 
  mutate(YIL=2012)

PISA2015 <-PISA_STU_2015 %>% 
  select(PV1READ,ESCS) %>% 
  mutate(YIL=2015)

PISA2018 <-PISA_STU_2018 %>% 
  select(PV1READ,ESCS) %>% 
  mutate(YIL=2018)

Dört veri seti rbind() fonskiyonu ile birleştirilmiştir.

dat <-rbind(PISA2009, PISA2012, PISA2015, PISA2018)

Yıllara göre ortalama başarı puanlarını göstermek için öncelikle group_by() ve summarise() fonksiyonları ile ortalama alınmış, daha sonra geom_line() fonksiyonu içinde çizgi türü ve renk değiştirilerek grafik elde edilmiştir.

dat1 <- dat %>% 
  group_by(YIL )  %>%  
 summarise( ortalama = mean(PV1READ,na.rm=TRUE))  %>% 
  ungroup()

ggplot(dat1 , aes(x=YIL,y= ortalama)) + 
  geom_line(linetype = 2 , color = "black") +
  theme_minimal()

Çizgi grafikleri özellikle regresyon eğrileri oluşturmak için kullanır. Sosyoekonomik düzey başarı arasındaki ilişkiyi görselleştirmek için ilk olarak ESCS değişkeni kategorik hale getirilmiştir. Daha sonra ESCS’in kategorik düzeyleri için ESCS ve PV1 read değişkenlerinin ortalaması alınmıştır. Oluşan veri setinin ilk satırları yazdırılmıştır.

dat2 <- dat %>% mutate(ESCS_kategorik = 
                            case_when(
                              ESCS > -4 & ESCS <=  -2 ~ "Dusuk",
                              ESCS > -2 & ESCS <=  0 ~ "Orta",
                              ESCS > 0    ~ "Yuksek")) 
                            
dat3 <- dat2 %>% group_by(YIL, ESCS_kategorik)   %>%  
  summarise(ortalamaSES= mean(ESCS,na.rm=TRUE),
            ortalamaPV1= mean(PV1READ,na.rm=TRUE))   %>% 
  arrange(desc(ortalamaSES)) %>% ungroup()
head(dat3)

Regresyon doğrusunun oluşturulması için ggpubr (Kassambara, 2023) paketinin stat_regline_equation() fonksiyonundan yararlanılmıştır.

library(ggpubr)
ggplot(dat3, aes(x=ortalamaSES , y=ortalamaPV1)) + 
  geom_line() +
  facet_wrap(vars(YIL)) +
  geom_smooth(method='lm', formula= y~x)+
  stat_regline_equation() +
    xlab("Ortalama ESCS") + ylab("Ortalama PV1") +
theme_bw()

Kutu grafiği

geom_boxplot() fonksiyonu ile kutu grafiği çizilir. Kutu grafiği ile veri setinin minimum, ilk çeyrek, medyan, üçüncü çeyrek ve maksimum değerleri gösterilir.

ggplot(miniPISA, aes(x = CINSIYET,y = OK_YETERLIK)) +
  geom_boxplot(color="red", fill="purple", alpha=0.2) 

coord_flip() fonksiyonu, x ve y eksenlerinin yerlerini değiştirmek amacıyla kullanılır. Bazen bu şekilde bir kullanım daha faydalı olabilmektedir.

ggplot(miniPISA, aes(x = CINSIYET,y = OK_YETERLIK)) +
  geom_boxplot(color="red", fill="purple", alpha=0.2) +
coord_flip()

NOT: ggplot2 paketinin sunduğu geniş görselleştirme özellikleri ve her bir katmanın grafiğe derinlik kattığını öğrendim. Karmaşık veri setlerini daha etkili bir şekilde analiz edebilmek ve görselleştirebilmek için ggplot paketini ayrıntılı bir şekilde öğrenmek ve etkin bir şekilde kullanmayı çok istiyorum.