library(tidyverse)      
library(haven)          
library(knitr)          
library(kableExtra)     
library(psych)          
library(ggplot2)        
library(corrplot)       
library(ggcorrplot)     
library(GGally)         
library(car)            
library(lm.beta)        
library(lavaan)         
library(semPlot)        
library(performance)    
library(see)            
library(mediation)      
library(interactions)   
library(sjPlot)         
library(effectsize)     
library(modelsummary) 


theme_set(theme_minimal(base_size = 12))

1 Veri Setine İlişkin Açıklamalar

Bu çalışmada TIMSS 2023 döngüsünde Türkiye’deki öğrencilerin 8. sınıf matematik başarı puanları ve öğrenci düzeyi değişkenler ele alınmıştır. TIMSS 2023 veri paketinde her bir ülke R (.rdata)ve SPSS (.sav) için 8 adet veri dosyası yer almaktadır. Bu çalışmada öğrenci düzeyi değişkenler ve matematik başarısı ele alınacağı için söz konusu bilgileri bir arada barındıran bsgturm8.rdata isimli dosya ile çalışılacaktır. İl adım olarak orijnal dosya veri seti arasından ayrıştırılmış ve özellikleri kontrol edilmiştir.

load("data/bsgturm8.rdata")
timss_data <- BSGTURM8
cat("Veri Seti Boyutu:", nrow(timss_data), "satır ve", ncol(timss_data), "sütun\n")
## Veri Seti Boyutu: 4925 satır ve 511 sütun
head(timss_data)
names(timss_data)
##   [1] "CTY"       "IDCNTRY"   "IDPOP"     "IDGRADER"  "IDGRADE"   "ITASSESS" 
##   [7] "IDBOOK"    "IDSCHOOL"  "IDCLASS"   "IDSTUD"    "ITSEX"     "BSDAGE"   
##  [13] "ITADMINI"  "ILRELIAB"  "ITLANG_SQ" "LCID_SQ"   "BSBG01"    "BSBG03"   
##  [19] "BSBG04"    "BSBG05A"   "BSBG05B"   "BSBG05C"   "BSBG05D"   "BSBG05E"  
##  [25] "BSBG05F"   "BSBG05G"   "BSBG05H"   "BSBG05I"   "BSBG05J"   "BSBG06A"  
##  [31] "BSBG06B"   "BSBG07"    "BSBG08A"   "BSBG08B"   "BSBG09A"   "BSBG09B"  
##  [37] "BSBG10"    "BSBG11A"   "BSBG11B"   "BSBG12A"   "BSBG12B"   "BSBG12C"  
##  [43] "BSBG12D"   "BSBG12E"   "BSBG12F"   "BSBG13A"   "BSBG13B"   "BSBG13C"  
##  [49] "BSBG13D"   "BSBG13E"   "BSBG13F"   "BSBG13G"   "BSBG14A"   "BSBG14B"  
##  [55] "BSBG14C"   "BSBG14D"   "BSBG14E"   "BSBG14F"   "BSBG14G"   "BSBG14H"  
##  [61] "BSBG14I"   "BSBG15A"   "BSBG15B"   "BSBG15C"   "BSBG15D"   "BSBG15E"  
##  [67] "BSBG15F"   "BSBG16A"   "BSBG16B"   "BSBG16C"   "BSBG16D"   "BSBG16E"  
##  [73] "BSBG16F"   "BSBG16G"   "BSBG16H"   "BSBG17A"   "BSBG17B"   "BSBG17C"  
##  [79] "BSBG17D"   "BSBG17E"   "BSBG17F"   "BSBG17G"   "BSBG17H"   "BSBG17I"  
##  [85] "BSBG17J"   "BSBG17K"   "BSBG17L"   "BSBG17M"   "BSBG17N"   "BSBM18"   
##  [91] "BSBM19A"   "BSBM19B"   "BSBM19C"   "BSBM19D"   "BSBM19E"   "BSBM19F"  
##  [97] "BSBM19G"   "BSBM19H"   "BSBM19I"   "BSBM20A"   "BSBM20B"   "BSBM20C"  
## [103] "BSBM20D"   "BSBM20E"   "BSBM20F"   "BSBM20G"   "BSBM20H"   "BSBM20I"  
## [109] "BSBM20J"   "BSBM21A"   "BSBM21B"   "BSBM21C"   "BSBM21D"   "BSBM21E"  
## [115] "BSBM21F"   "BSBM22A"   "BSBM22B"   "BSBM22C"   "BSBM22D"   "BSBM22E"  
## [121] "BSBM22F"   "BSBM22G"   "BSBM22H"   "BSBM23A"   "BSBM23B"   "BSBM23C"  
## [127] "BSBM23D"   "BSBM23E"   "BSBM23F"   "BSBM23G"   "BSBM23H"   "BSBM23I"  
## [133] "BSBS24"    "BSBS25A"   "BSBS25B"   "BSBS25C"   "BSBS25D"   "BSBS25E"  
## [139] "BSBS25F"   "BSBS25G"   "BSBS25H"   "BSBS25I"   "BSBS26A"   "BSBS26B"  
## [145] "BSBS26C"   "BSBS26D"   "BSBS26E"   "BSBS26F"   "BSBS26G"   "BSBS26H"  
## [151] "BSBS26I"   "BSBS26J"   "BSBS27A"   "BSBS27B"   "BSBS27C"   "BSBS27D"  
## [157] "BSBS27E"   "BSBS27F"   "BSBS28A"   "BSBS28B"   "BSBS28C"   "BSBS28D"  
## [163] "BSBS28E"   "BSBS28F"   "BSBS28G"   "BSBS28H"   "BSBS29A"   "BSBS29B"  
## [169] "BSBS29C"   "BSBS29D"   "BSBS29E"   "BSBS29F"   "BSBS29G"   "BSBS29H"  
## [175] "BSBS29I"   "BSBM30A"   "BSBS30B"   "BSBB24"    "BSBB25"    "BSBB26A"  
## [181] "BSBB26B"   "BSBB26C"   "BSBB26D"   "BSBB26E"   "BSBB26F"   "BSBB26G"  
## [187] "BSBB26H"   "BSBB26I"   "BSBB27A"   "BSBB27B"   "BSBB27C"   "BSBB27D"  
## [193] "BSBB27E"   "BSBB27F"   "BSBB27G"   "BSBB27H"   "BSBB27I"   "BSBB27J"  
## [199] "BSBB28A"   "BSBB28B"   "BSBB28C"   "BSBB28D"   "BSBB28E"   "BSBB28F"  
## [205] "BSBB29A"   "BSBB29B"   "BSBB29C"   "BSBB29D"   "BSBB29E"   "BSBB29F"  
## [211] "BSBB29G"   "BSBB29H"   "BSBE30"    "BSBE31"    "BSBE32A"   "BSBE32B"  
## [217] "BSBE32C"   "BSBE32D"   "BSBE32E"   "BSBE32F"   "BSBE32G"   "BSBE32H"  
## [223] "BSBE32I"   "BSBE33A"   "BSBE33B"   "BSBE33C"   "BSBE33D"   "BSBE33E"  
## [229] "BSBE33F"   "BSBE33G"   "BSBE33H"   "BSBE33I"   "BSBE33J"   "BSBE34A"  
## [235] "BSBE34B"   "BSBE34C"   "BSBE34D"   "BSBE34E"   "BSBE34F"   "BSBE35A"  
## [241] "BSBE35B"   "BSBE35C"   "BSBE35D"   "BSBE35E"   "BSBE35F"   "BSBE35G"  
## [247] "BSBE35H"   "BSBC36"    "BSBC37"    "BSBC38A"   "BSBC38B"   "BSBC38C"  
## [253] "BSBC38D"   "BSBC38E"   "BSBC38F"   "BSBC38G"   "BSBC38H"   "BSBC38I"  
## [259] "BSBC39A"   "BSBC39B"   "BSBC39C"   "BSBC39D"   "BSBC39E"   "BSBC39F"  
## [265] "BSBC39G"   "BSBC39H"   "BSBC39I"   "BSBC39J"   "BSBC40A"   "BSBC40B"  
## [271] "BSBC40C"   "BSBC40D"   "BSBC40E"   "BSBC40F"   "BSBC41A"   "BSBC41B"  
## [277] "BSBC41C"   "BSBC41D"   "BSBC41E"   "BSBC41F"   "BSBC41G"   "BSBC41H"  
## [283] "BSBP42"    "BSBP43"    "BSBP44A"   "BSBP44B"   "BSBP44C"   "BSBP44D"  
## [289] "BSBP44E"   "BSBP44F"   "BSBP44G"   "BSBP44H"   "BSBP44I"   "BSBP45A"  
## [295] "BSBP45B"   "BSBP45C"   "BSBP45D"   "BSBP45E"   "BSBP45F"   "BSBP45G"  
## [301] "BSBP45H"   "BSBP45I"   "BSBP45J"   "BSBP46A"   "BSBP46B"   "BSBP46C"  
## [307] "BSBP46D"   "BSBP46E"   "BSBP46F"   "BSBP47A"   "BSBP47B"   "BSBP47C"  
## [313] "BSBP47D"   "BSBP47E"   "BSBP47F"   "BSBP47G"   "BSBP47H"   "BSBS48A"  
## [319] "BSBS48B"   "BSBS48C"   "BSBS48D"   "BSBS48E"   "BSBS48F"   "BSBS48G"  
## [325] "BSBS48H"   "BSBS48I"   "BSBM49A"   "BSBB49B"   "BSBE49C"   "BSBC49D"  
## [331] "BSBP49E"   "JKZONE"    "JKREP"     "TOTWGT"    "HOUWGT"    "SENWGT"   
## [337] "WGTFAC1"   "WGTADJ1"   "WGTFAC2"   "WGTADJ2"   "WGTFAC3"   "WGTADJ3"  
## [343] "BSMMAT01"  "BSMMAT02"  "BSMMAT03"  "BSMMAT04"  "BSMMAT05"  "BSMNUM01" 
## [349] "BSMNUM02"  "BSMNUM03"  "BSMNUM04"  "BSMNUM05"  "BSMALG01"  "BSMALG02" 
## [355] "BSMALG03"  "BSMALG04"  "BSMALG05"  "BSMGEO01"  "BSMGEO02"  "BSMGEO03" 
## [361] "BSMGEO04"  "BSMGEO05"  "BSMDAT01"  "BSMDAT02"  "BSMDAT03"  "BSMDAT04" 
## [367] "BSMDAT05"  "BSMKNO01"  "BSMKNO02"  "BSMKNO03"  "BSMKNO04"  "BSMKNO05" 
## [373] "BSMAPP01"  "BSMAPP02"  "BSMAPP03"  "BSMAPP04"  "BSMAPP05"  "BSMREA01" 
## [379] "BSMREA02"  "BSMREA03"  "BSMREA04"  "BSMREA05"  "BSSSCI01"  "BSSSCI02" 
## [385] "BSSSCI03"  "BSSSCI04"  "BSSSCI05"  "BSSBIO01"  "BSSBIO02"  "BSSBIO03" 
## [391] "BSSBIO04"  "BSSBIO05"  "BSSCHE01"  "BSSCHE02"  "BSSCHE03"  "BSSCHE04" 
## [397] "BSSCHE05"  "BSSPHY01"  "BSSPHY02"  "BSSPHY03"  "BSSPHY04"  "BSSPHY05" 
## [403] "BSSEAR01"  "BSSEAR02"  "BSSEAR03"  "BSSEAR04"  "BSSEAR05"  "BSSKNO01" 
## [409] "BSSKNO02"  "BSSKNO03"  "BSSKNO04"  "BSSKNO05"  "BSSAPP01"  "BSSAPP02" 
## [415] "BSSAPP03"  "BSSAPP04"  "BSSAPP05"  "BSSREA01"  "BSSREA02"  "BSSREA03" 
## [421] "BSSREA04"  "BSSREA05"  "BSSENV01"  "BSSENV02"  "BSSENV03"  "BSSENV04" 
## [427] "BSSENV05"  "BSMIBM01"  "BSMIBM02"  "BSMIBM03"  "BSMIBM04"  "BSMIBM05" 
## [433] "BSSIBM01"  "BSSIBM02"  "BSSIBM03"  "BSSIBM04"  "BSSIBM05"  "BSBGHER"  
## [439] "BSDGHER"   "BSBGSSB"   "BSDGSSB"   "BSBGSB"    "BSDGSB"    "BSBGSLM"  
## [445] "BSDGSLM"   "BSBGICM"   "BSDGICM"   "BSBGDML"   "BSDGDML"   "BSBGSCM"  
## [451] "BSDGSCM"   "BSBGSVM"   "BSDGSVM"   "BSBGSLS"   "BSDGSLS"   "BSBGICS"  
## [457] "BSDGICS"   "BSBGSCS"   "BSDGSCS"   "BSBGSVS"   "BSDGSVS"   "BSBGSLB"  
## [463] "BSDGSLB"   "BSBGICB"   "BSDGICB"   "BSBGSCB"   "BSDGSCB"   "BSBGSLE"  
## [469] "BSDGSLE"   "BSBGICE"   "BSDGICE"   "BSBGSCE"   "BSDGSCE"   "BSBGSLC"  
## [475] "BSDGSLC"   "BSBGICC"   "BSDGICC"   "BSBGSCC"   "BSDGSCC"   "BSBGSLP"  
## [481] "BSDGSLP"   "BSBGICP"   "BSDGICP"   "BSBGSCP"   "BSDGSCP"   "BSBGSEC"  
## [487] "BSDGSEC"   "BSBGDSL"   "BSDGDSL"   "BSBGDBL"   "BSDGDBL"   "BSBGDEL"  
## [493] "BSDGDEL"   "BSBGDCL"   "BSDGDCL"   "BSBGDPL"   "BSDGDPL"   "BSBGVEP"  
## [499] "BSDGVEP"   "BSDG05S"   "BSDGEDUP"  "BSDMLOWP"  "BSDSLOWP"  "BSDMZERP" 
## [505] "BSDSZERP"  "BSDMCORP"  "BSDSCORP"  "BSDMMISP"  "BSDSMISP"  "VERSION"  
## [511] "SCOPE"

Veri setinin büyüklüğü ve çok sayıda değişken olması sebiyle öğrenci düzeyinde bazı değişkenler seçilerek daha küçük bir veri seti oluşturulmuştur. Bu değişkenler TIMSS 2023 veri setinde öğrenci anketinden toplanan verilere dayalı türetilmiş değerler olarak yer almaktadır. Değişkenler için uygulanan ölçeğin kesme noktaları belirlenmiş ve buna göre her bir özellik bakımından öğrenciler kategorilere ayrılmştır. Yalnızca devamsızlık ve zorbalığa maruz kalma sıklıkları öğrenci anketinden alındığı yapıyı korumaktadır ve ordinal bir özellik göstermktedir.

timss_kisa <- timss_data %>%
  dplyr::select(
    
    IDCNTRY,      
    IDSCHOOL,     
    IDSTUD,     
    
  
    BSMMAT01, BSMMAT02, BSMMAT03, BSMMAT04, BSMMAT05,
    
  
    ITSEX,      
    BSBG10,       
    BSDGSEC,      
    BSDGHER,      
    BSDGSVM,      
    BSDGSCM,      
    BSDGSLM,    
    BSDGSSB,      
    BSDGSB        
  )

cat("Yeni veri seti boyutu:", nrow(timss_kisa), "satır ve", ncol(timss_kisa), "sütun\n")
## Yeni veri seti boyutu: 4925 satır ve 17 sütun

tims_kisa ismiyle oluşturulan yeni veri setinde 3 kimlik etiketi(ülke, okul ve öğrenci) 5 olası matematik puanı(PV1-5) ve öğrencilere ilişkin 9 (cinsiyet, devamsızlık, ev kaynakları, matematiği sevme, dijital özyeterlik, okula aidiyet, zorbalığa maruz kalma, matematiği sevme ve matematiğe değer verme) olmak üzere toplam 17 sütun ve 4925 öğrenciden alınan veri mevcuttur.

1.1 Değişkenlere Türkçe İsim Verilmesi

Yorumlamayı kolaylaştırma adına değişkenler Türkçe isimler verilmiştir.

timss_kisa <- timss_kisa %>%
  dplyr::rename(
    mat_basari1 = BSMMAT01,
    mat_basari2 = BSMMAT02,
    mat_basari3 = BSMMAT03,
    mat_basari4 = BSMMAT04,
    mat_basari5 = BSMMAT05,
    cinsiyet = ITSEX,
    devamsizlik = BSBG10,
    dijital_oz_yeterlik = BSDGSEC,
    ev_kaynaklari = BSDGHER,
    mat_deger = BSDGSVM,
    mat_ozguven = BSDGSCM,
    mat_sevme = BSDGSLM,
    okul_aidiyet = BSDGSSB,
    zorbalik = BSDGSB
  )

degisken_tablosu <- data.frame(
  "Eski_Isim" = c("IDCNTRY", "IDSCHOOL", "IDSTUD", "BSMMAT01", "BSMMAT02", 
                  "BSMMAT03", "BSMMAT04", "BSMMAT05", "ITSEX", "BSBG10", 
                  "BSDGSEC", "BSDGHER", "BSDGSWM", "BSDGSCM", "BSDGSLM", 
                  "BSDGSSB", "BSDGSB"),
  "Yeni_Isim" = c("IDCNTRY", "IDSCHOOL", "IDSTUD", "mat_basari1", "mat_basari2",
                  "mat_basari3", "mat_basari4", "mat_basari5", "cinsiyet", 
                  "devamsizlik", "dijital_oz_yeterlik", "ev_kaynaklari", 
                  "mat_deger", "mat_ozguven", "mat_sevme", "okul_aidiyet", 
                  "zorbalik")
)

print(degisken_tablosu, row.names = FALSE)
##  Eski_Isim           Yeni_Isim
##    IDCNTRY             IDCNTRY
##   IDSCHOOL            IDSCHOOL
##     IDSTUD              IDSTUD
##   BSMMAT01         mat_basari1
##   BSMMAT02         mat_basari2
##   BSMMAT03         mat_basari3
##   BSMMAT04         mat_basari4
##   BSMMAT05         mat_basari5
##      ITSEX            cinsiyet
##     BSBG10         devamsizlik
##    BSDGSEC dijital_oz_yeterlik
##    BSDGHER       ev_kaynaklari
##    BSDGSWM           mat_deger
##    BSDGSCM         mat_ozguven
##    BSDGSLM           mat_sevme
##    BSDGSSB        okul_aidiyet
##     BSDGSB            zorbalik

Değişkenler yukarıdaki tabloda görüldüğü gibi yeniden Türkçe olarak isimlendirilmiştir.

1.2 Değişken Etiketlerinin Türkçe Hale Getirilmesi

Değişkenlerde hangi değerin ne anlama geldiği codebook isimli TIMSS veri setindeki dosya yardımıyla Türkçe olarak yeniden etiketlenmiştir. Olası 5 matematik puanının ortalaması alınarak mat_basari_ort adında bir değer üretilmiş ve ardından matematik başarısına ilişkin tanımlayıcı istatistikler hesaplanmıştır.

timss_kisa <- timss_kisa %>%
  mutate(
    # 1. Cinsiyet
    cinsiyet = ifelse(cinsiyet == 9, NA, cinsiyet),
    cinsiyet = factor(cinsiyet, levels = c(1, 2),
                     labels = c("Kız", "Erkek")),
    
    # 2. Devamsızlık
    devamsizlik = ifelse(devamsizlik == 9, NA, devamsizlik),
    devamsizlik = 6 - devamsizlik,
    devamsizlik = factor(devamsizlik, levels = c(1, 2, 3, 4, 5),
                        labels = c("Hiç", "İki ayda bir", "Ayda bir", 
                                  "İki haftada bir", "Haftada bir")),
    
    # 3. Dijital Öz Yeterlik
    dijital_oz_yeterlik = ifelse(dijital_oz_yeterlik %in% c(6, 9), NA, dijital_oz_yeterlik),
    dijital_oz_yeterlik = 4 - dijital_oz_yeterlik,
    dijital_oz_yeterlik = factor(dijital_oz_yeterlik, levels = c(1, 2, 3),
                                labels = c("Düşük", "Orta", "Yüksek")),
    
    # 4. Ev Kaynakları
    ev_kaynaklari = ifelse(ev_kaynaklari == 9, NA, ev_kaynaklari),
    ev_kaynaklari = 4 - ev_kaynaklari,
    ev_kaynaklari = factor(ev_kaynaklari, levels = c(1, 2, 3),
                          labels = c("Az kaynak", "Orta kaynak", "Çok kaynak")),
    
    # 5. Matematiğe Değer Verme
    mat_deger = ifelse(mat_deger == 9, NA, mat_deger),
    mat_deger = 4 - mat_deger,
    mat_deger = factor(mat_deger, levels = c(1, 2, 3),
                      labels = c("Değer vermiyor", "Orta", "Çok değer veriyor")),
    
    # 6. Matematik Özgüven
    mat_ozguven = ifelse(mat_ozguven == 9, NA, mat_ozguven),
    mat_ozguven = 4 - mat_ozguven,
    mat_ozguven = factor(mat_ozguven, levels = c(1, 2, 3),
                        labels = c("Özgüvensiz", "Orta", "Çok özgüvenli")),
    
    # 7. Matematiği Sevme
    mat_sevme = ifelse(mat_sevme == 9, NA, mat_sevme),
    mat_sevme = 4 - mat_sevme,
    mat_sevme = factor(mat_sevme, levels = c(1, 2, 3),
                      labels = c("Sevmiyor", "Orta", "Çok seviyor")),
    
    # 8. Okula Aidiyet
    okul_aidiyet = ifelse(okul_aidiyet == 9, NA, okul_aidiyet),
    okul_aidiyet = 4 - okul_aidiyet,
    okul_aidiyet = factor(okul_aidiyet, levels = c(1, 2, 3),
                         labels = c("Düşük aidiyet", "Orta", "Yüksek aidiyet")),
    
    # 9. Zorbalık
    zorbalik = ifelse(zorbalik == 9, NA, zorbalik),
    zorbalik = factor(zorbalik, levels = c(1, 2, 3),
                     labels = c("Hiç", "Ayda bir", "Haftada bir"))
  )
timss_kisa <- timss_kisa %>%
  mutate(
    mat_basari_ort = (mat_basari1 + mat_basari2 + mat_basari3 + 
                      mat_basari4 + mat_basari5) / 5
  )

ozet_tablo <- data.frame(
  İstatistik = c("N (Öğrenci Sayısı)", 
                 "Ortalama", 
                 "Standart Sapma", 
                 "Minimum", 
                 "1. Çeyrek", 
                 "Medyan", 
                 "3. Çeyrek", 
                 "Maksimum"),
  Değer = c(
    sum(!is.na(timss_kisa$mat_basari_ort)),
    round(mean(timss_kisa$mat_basari_ort, na.rm = TRUE), 2),
    round(sd(timss_kisa$mat_basari_ort, na.rm = TRUE), 2),
    round(min(timss_kisa$mat_basari_ort, na.rm = TRUE), 2),
    round(quantile(timss_kisa$mat_basari_ort, 0.25, na.rm = TRUE), 2),
    round(median(timss_kisa$mat_basari_ort, na.rm = TRUE), 2),
    round(quantile(timss_kisa$mat_basari_ort, 0.75, na.rm = TRUE), 2),
    round(max(timss_kisa$mat_basari_ort, na.rm = TRUE), 2)
  )
)

ozet_tablo %>%
  kable(caption = "Matematik Başarısı Betimsel İstatistikleri",
        align = c("l", "c"),
        col.names = c("İstatistik", "Değer")) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, bold = TRUE, color = "white", background = "#3498db") %>%
  row_spec(1:8, color = "black") %>%
  column_spec(1, bold = TRUE, width = "5cm") %>%
  column_spec(2, width = "3cm")
Matematik Başarısı Betimsel İstatistikleri
İstatistik Değer
N (Öğrenci Sayısı) 4925,00
Ortalama 505,20
Standart Sapma 109,40
Minimum 185,51
  1. Çeyrek
419,06
Medyan 501,09
  1. Çeyrek
588,54
Maksimum 796,90

Türkiye’den 495 öğrencinin katıldığı TIMSS 2023 döngüsü 8. sınıf matematik sonuçlarına göre ortalam başarı 505 olmuş ve TIMSS standart ölçek ortalaması kabul edilen 500 puanın biraz üzerinde olduğu anlaşılmıştır. Ancak standart spamnın(109) büyüklüğü öğrenciler arasında önemli farklar olduğunu göstermektedir.

2 Değişkenlere Göre Matematik Başarısı

Oluşturulan veri setindeki her bir değişkenin alt kategorilerine göre matamatik başarısını gösteren temel istatistikler hesaplanmıştır.

2.1 Devamsızlık Sıklığı

devamsizlik_tablo <- timss_kisa %>%
  filter(!is.na(devamsizlik)) %>%
  group_by(devamsizlik) %>%
  summarise(
    N = n(),
    Ortalama = round(mean(mat_basari_ort, na.rm = TRUE), 2),
    `Std. Sapma` = round(sd(mat_basari_ort, na.rm = TRUE), 2),
    Minimum = round(min(mat_basari_ort, na.rm = TRUE), 2),
    Medyan = round(median(mat_basari_ort, na.rm = TRUE), 2),
    Maksimum = round(max(mat_basari_ort, na.rm = TRUE), 2)
  ) %>%
  rename(Devamsızlık = devamsizlik)

devamsizlik_tablo %>%
  kable(caption = "Devamsızlık Durumuna Göre Matematik Başarısı",
        align = c("l", "c", "c", "c", "c", "c", "c")) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, bold = TRUE, color = "white", background = "#e74c3c") %>%
  column_spec(1, bold = TRUE, width = "5cm")
Devamsızlık Durumuna Göre Matematik Başarısı
Devamsızlık N Ortalama Std. Sapma Minimum Medyan Maksimum
Hiç 1884 536,27 106,11 258,25 541,87 794,23
İki ayda bir 684 511,72 107,77 259,99 509,03 776,91
Ayda bir 953 499,07 104,23 250,26 492,15 784,60
İki haftada bir 671 480,64 102,89 202,13 475,69 796,90
Haftada bir 621 442,34 103,47 185,51 423,11 713,82

Tabloda, devamsızlık sıklığı arttıkça matematik başarısının sistematik bir şekilde azaldığı görülmektedir. Hiç devamsızlık yapmayan öğrencilerin ortalama puanı 536.27 iken, haftada bir devamsızlık yapan öğrencilerde bu değerin 442.34’e düştüğü anlaşılmaktadır. İki grup arasında yaklaşık 94 puanlık bir fark olduğu söylenebilir. Devamsızlık düzeyi arttıkça ortalama puanların düştüğü, bununla birlikte başarı dağılımının gruplar arasında benzer kaldığı gözlemlenmektedir.

2.2 Dijtal Öz Yeterlik

dijital_tablo <- timss_kisa %>%
  filter(!is.na(dijital_oz_yeterlik)) %>%
  group_by(dijital_oz_yeterlik) %>%
  summarise(
    N = n(),
    Ortalama = round(mean(mat_basari_ort, na.rm = TRUE), 2),
    `Std. Sapma` = round(sd(mat_basari_ort, na.rm = TRUE), 2),
    Minimum = round(min(mat_basari_ort, na.rm = TRUE), 2),
    Medyan = round(median(mat_basari_ort, na.rm = TRUE), 2),
    Maksimum = round(max(mat_basari_ort, na.rm = TRUE), 2)
  ) %>%
  rename(`Dijital Öz Yeterlik` = dijital_oz_yeterlik)

dijital_tablo %>%
  kable(caption = "Dijital Öz Yeterliğe Göre Matematik Başarısı",
        align = c("l", "c", "c", "c", "c", "c", "c")) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, bold = TRUE, color = "white", background = "#9b59b6") %>%
  column_spec(1, bold = TRUE, width = "5cm")
Dijital Öz Yeterliğe Göre Matematik Başarısı
Dijital Öz Yeterlik N Ortalama Std. Sapma Minimum Medyan Maksimum
Düşük 163 425,40 108,69 242,95 397,49 737,94
Orta 1673 486,64 107,52 185,51 477,09 796,90
Yüksek 2964 521,59 106,91 202,13 522,43 794,23

Dijital öz yeterlik düzeyi arttıkça matematik başarısının da arttığı görülmektedir. Düşük dijital öz yeterliğe sahip öğrencilerin ortalama puanı 425.40 iken, orta düzeyde olanların 486.64, yüksek düzeyde olanların ise 521.59 olduğu anlaşılmaktadır. Dikkat çekici bir diğer nokta, yüksek dijital öz yeterliğe sahip öğrenci sayısının (N=2964) diğer gruplara göre belirgin şekilde fazla olmasıdır.

2.3 Ev Kaynakları

ev_tablo <- timss_kisa %>%
  filter(!is.na(ev_kaynaklari)) %>%
  group_by(ev_kaynaklari) %>%
  summarise(
    N = n(),
    Ortalama = round(mean(mat_basari_ort, na.rm = TRUE), 2),
    `Std. Sapma` = round(sd(mat_basari_ort, na.rm = TRUE), 2),
    Minimum = round(min(mat_basari_ort, na.rm = TRUE), 2),
    Medyan = round(median(mat_basari_ort, na.rm = TRUE), 2),
    Maksimum = round(max(mat_basari_ort, na.rm = TRUE), 2)
  ) %>%
  rename(`Ev Kaynakları` = ev_kaynaklari)

ev_tablo %>%
  kable(caption = "Ev Kaynaklarına Göre Matematik Başarısı",
        align = c("l", "c", "c", "c", "c", "c", "c")) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, bold = TRUE, color = "white", background = "#16a085") %>%
  column_spec(1, bold = TRUE, width = "5cm")
Ev Kaynaklarına Göre Matematik Başarısı
Ev Kaynakları N Ortalama Std. Sapma Minimum Medyan Maksimum
Az kaynak 1325 450,33 97,22 185,51 438,73 765,89
Orta kaynak 2203 497,20 99,00 237,34 492,93 777,29
Çok kaynak 1305 575,44 102,11 248,24 587,43 796,90

Ev kaynakları düzeyi arttıkça matematik başarısının da arttığı görülmektedir. Az kaynağa sahip öğrencilerin ortalama puanı 450.33 iken, orta düzeyde kaynağa sahip olanların 497.20, çok kaynağa sahip olanların ise 575.44 olduğu anlaşılmaktadır. Az ve çok kaynak grupları arasında yaklaşık 125 puanlık belirgin bir fark bulunmaktadır. Öğrenci dağılımına bakıldığında, orta kaynak düzeyindeki öğrenci sayısının (N=2203) diğer gruplara göre daha fazla olduğu dikkat çekmektedir.

2.4 Matematiğe Değer Verme

deger_tablo <- timss_kisa %>%
  filter(!is.na(mat_deger)) %>%
  group_by(mat_deger) %>%
  summarise(
    N = n(),
    Ortalama = round(mean(mat_basari_ort, na.rm = TRUE), 2),
    `Std. Sapma` = round(sd(mat_basari_ort, na.rm = TRUE), 2),
    Minimum = round(min(mat_basari_ort, na.rm = TRUE), 2),
    Medyan = round(median(mat_basari_ort, na.rm = TRUE), 2),
    Maksimum = round(max(mat_basari_ort, na.rm = TRUE), 2)
  ) %>%
  rename(`Matematiğe Değer Verme` = mat_deger)

deger_tablo %>%
  kable(caption = "Matematiğe Değer Vermeye Göre Matematik Başarısı",
        align = c("l", "c", "c", "c", "c", "c", "c")) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, bold = TRUE, color = "white", background = "#f39c12") %>%
  column_spec(1, bold = TRUE, width = "5cm")
Matematiğe Değer Vermeye Göre Matematik Başarısı
Matematiğe Değer Verme N Ortalama Std. Sapma Minimum Medyan Maksimum
Değer vermiyor 1216 468,98 95,38 185,51 460,11 759,99
Orta 1792 502,54 105,12 237,34 497,35 794,23
Çok değer veriyor 1765 537,20 113,58 202,13 548,78 796,90

Matematiğe değer verme düzeyi arttıkça matematik başarısının da arttığı görülmektedir. Matematiğe değer vermeyen öğrencilerin ortalama puanı 468.98 iken, orta düzeyde değer verenlerin 502.54, çok değer verenlerin ise 537.20 olduğu anlaşılmaktadır. En düşük ve en yüksek grup arasında yaklaşık 68 puanlık bir fark bulunmaktadır. Öğrenci sayılarına bakıldığında, üç grubun dengeli bir dağılım gösterdiği dikkat çekmektedir.

2.5 Matematik Özgüveni

ozguven_tablo <- timss_kisa %>%
  filter(!is.na(mat_ozguven)) %>%
  group_by(mat_ozguven) %>%
  summarise(
    N = n(),
    Ortalama = round(mean(mat_basari_ort, na.rm = TRUE), 2),
    `Std. Sapma` = round(sd(mat_basari_ort, na.rm = TRUE), 2),
    Minimum = round(min(mat_basari_ort, na.rm = TRUE), 2),
    Medyan = round(median(mat_basari_ort, na.rm = TRUE), 2),
    Maksimum = round(max(mat_basari_ort, na.rm = TRUE), 2)
  ) %>%
  rename(`Matematik Özgüveni` = mat_ozguven)

ozguven_tablo %>%
  kable(caption = "Matematik Özgüvenine Göre Matematik Başarısı",
        align = c("l", "c", "c", "c", "c", "c", "c")) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, bold = TRUE, color = "white", background = "#3498db") %>%
  column_spec(1, bold = TRUE, width = "5cm")
Matematik Özgüvenine Göre Matematik Başarısı
Matematik Özgüveni N Ortalama Std. Sapma Minimum Medyan Maksimum
Özgüvensiz 2969 463,00 88,76 185,51 458,85 730,09
Orta 1147 552,55 101,15 245,53 566,46 796,90
Çok özgüvenli 642 629,78 77,88 357,48 638,47 794,23

Matematik özgüveni arttıkça matematik başarısının da belirgin şekilde arttığı görülmektedir. Özgüvensiz öğrencilerin ortalama puanı 463.00 iken, orta düzeyde özgüvenli olanların 552.55, çok özgüvenli olanların ise 629.78 olduğu anlaşılmaktadır. En düşük ve en yüksek grup arasında yaklaşık 167 puanlık oldukça yüksek bir fark bulunmaktadır. Öğrenci dağılımında dikkat çekici bir durum gözlemlenmektedir: Özgüvensiz öğrenci sayısının (N=2969) çok özgüvenli öğrenci sayısına (N=642) göre belirgin şekilde fazla olduğu anlaşılmaktadır.

2.6 Matematiği Sevme

sevme_tablo <- timss_kisa %>%
  filter(!is.na(mat_sevme)) %>%
  group_by(mat_sevme) %>%
  summarise(
    N = n(),
    Ortalama = round(mean(mat_basari_ort, na.rm = TRUE), 2),
    `Std. Sapma` = round(sd(mat_basari_ort, na.rm = TRUE), 2),
    Minimum = round(min(mat_basari_ort, na.rm = TRUE), 2),
    Medyan = round(median(mat_basari_ort, na.rm = TRUE), 2),
    Maksimum = round(max(mat_basari_ort, na.rm = TRUE), 2)
  ) %>%
  rename(`Matematiği Sevme` = mat_sevme)

sevme_tablo %>%
  kable(caption = "Matematiği Sevmeye Göre Matematik Başarısı",
        align = c("l", "c", "c", "c", "c", "c", "c")) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, bold = TRUE, color = "white", background = "#e91e63") %>%
  column_spec(1, bold = TRUE, width = "5cm")
Matematiği Sevmeye Göre Matematik Başarısı
Matematiği Sevme N Ortalama Std. Sapma Minimum Medyan Maksimum
Sevmiyor 2191 471,72 94,20 219,81 466,26 764,86
Orta 1573 515,97 110,41 185,51 520,67 796,90
Çok seviyor 1034 564,88 109,97 250,16 584,78 782,27

Matematiği sevme düzeyi arttıkça matematik başarısının da arttığı görülmektedir. Matematiği sevmeyen öğrencilerin ortalama puanı 471.72 iken, orta düzeyde sevenlerin 515.97, çok sevenlerin ise 564.88 olduğu anlaşılmaktadır. En düşük ve en yüksek grup arasında yaklaşık 93 puanlık bir fark bulunmaktadır. Öğrenci dağılımında ilginç bir durum dikkat çekmektedir: Matematiği sevmeyen öğrenci sayısının (N=2191) çok seven öğrenci sayısına (N=1034) göre iki katından fazla olduğu görülmektedir.

2.7 Okula Aidiyet

aidiyet_tablo <- timss_kisa %>%
  filter(!is.na(okul_aidiyet)) %>%
  group_by(okul_aidiyet) %>%
  summarise(
    N = n(),
    Ortalama = round(mean(mat_basari_ort, na.rm = TRUE), 2),
    `Std. Sapma` = round(sd(mat_basari_ort, na.rm = TRUE), 2),
    Minimum = round(min(mat_basari_ort, na.rm = TRUE), 2),
    Medyan = round(median(mat_basari_ort, na.rm = TRUE), 2),
    Maksimum = round(max(mat_basari_ort, na.rm = TRUE), 2)
  ) %>%
  rename(`Okula Aidiyet` = okul_aidiyet)

aidiyet_tablo %>%
  kable(caption = "Okula Aidiyete Göre Matematik Başarısı",
        align = c("l", "c", "c", "c", "c", "c", "c")) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, bold = TRUE, color = "white", background = "#27ae60") %>%
  column_spec(1, bold = TRUE, width = "5cm")
Okula Aidiyete Göre Matematik Başarısı
Okula Aidiyet N Ortalama Std. Sapma Minimum Medyan Maksimum
Düşük aidiyet 1149 498,46 105,58 248,24 492,15 784,60
Orta 2177 506,30 109,04 202,13 502,26 796,90
Yüksek aidiyet 1441 513,92 112,44 185,51 512,43 779,68

Okula aidiyet düzeyi arttıkça matematik başarısının da arttığı görülmektedir, ancak bu artış diğer değişkenlere kıyasla daha sınırlı kalmaktadır. Düşük aidiyete sahip öğrencilerin ortalama puanı 498.46 iken, orta düzeyde olanların 506.30, yüksek aidiyete sahip olanların ise 513.92 olduğu anlaşılmaktadır. En düşük ve en yüksek grup arasında yaklaşık 15 puanlık bir fark bulunmakta olup, bu farkın ev kaynakları, matematik özgüveni gibi değişkenlerdeki farklara göre belirgin şekilde düşük olduğu dikkat çekmektedir.

2.8 Zorbalığa Maruz Kalma Sıklığına Göre

zorbalik_tablo <- timss_kisa %>%
  filter(!is.na(zorbalik)) %>%
  group_by(zorbalik) %>%
  summarise(
    N = n(),
    Ortalama = round(mean(mat_basari_ort, na.rm = TRUE), 2),
    `Std. Sapma` = round(sd(mat_basari_ort, na.rm = TRUE), 2),
    Minimum = round(min(mat_basari_ort, na.rm = TRUE), 2),
    Medyan = round(median(mat_basari_ort, na.rm = TRUE), 2),
    Maksimum = round(max(mat_basari_ort, na.rm = TRUE), 2)
  ) %>%
  rename(Zorbalık = zorbalik)

zorbalik_tablo %>%
  kable(caption = "Zorbalığa Göre Matematik Başarısı",
        align = c("l", "c", "c", "c", "c", "c", "c")) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, bold = TRUE, color = "white", background = "#c0392b") %>%
  column_spec(1, bold = TRUE, width = "5cm")
Zorbalığa Göre Matematik Başarısı
Zorbalık N Ortalama Std. Sapma Minimum Medyan Maksimum
Hiç 2261 523,46 110,68 219,81 524,55 796,90
Ayda bir 1807 501,18 105,31 250,16 497,07 784,60
Haftada bir 740 465,10 103,75 185,51 455,60 737,94

Zorbalığa maruz kalma sıklığı arttıkça matematik başarısının azaldığı görülmektedir. Hiç zorbalığa maruz kalmayan öğrencilerin ortalama puanı 523.46 iken, ayda bir maruz kalanların 501.18, haftada bir maruz kalanların ise 465.10 olduğu anlaşılmaktadır. En düşük ve en yüksek grup arasında yaklaşık 58 puanlık bir fark bulunmaktadır. Öğrenci dağılımında önemli bir durum dikkat çekmektedir: Hiç zorbalığa maruz kalmayan öğrenci sayısı (N=2261) en yüksek iken, haftada bir maruz kalan öğrenci sayısının (N=740) belirgin şekilde düşük olduğu görülmektedir

2.9 Cinsiyet

cinsiyet_tablo <- timss_kisa %>%
  filter(!is.na(cinsiyet)) %>%
  group_by(cinsiyet) %>%
  summarise(
    N = n(),
    Ortalama = round(mean(mat_basari_ort, na.rm = TRUE), 2),
    `Std. Sapma` = round(sd(mat_basari_ort, na.rm = TRUE), 2),
    Minimum = round(min(mat_basari_ort, na.rm = TRUE), 2),
    Medyan = round(median(mat_basari_ort, na.rm = TRUE), 2),
    Maksimum = round(max(mat_basari_ort, na.rm = TRUE), 2)
  ) %>%
  rename(Cinsiyet = cinsiyet)

cinsiyet_tablo %>%
  kable(caption = "Cinsiyete Göre Matematik Başarısı",
        align = c("l", "c", "c", "c", "c", "c", "c")) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, bold = TRUE, color = "white", background = "#c0392b") %>%
  column_spec(1, bold = TRUE, width = "5cm")
Cinsiyete Göre Matematik Başarısı
Cinsiyet N Ortalama Std. Sapma Minimum Medyan Maksimum
Kız 2437 505,70 104,68 202,13 502,23 796,90
Erkek 2488 504,72 113,86 185,51 500,42 794,23

Cinsiyete göre matematik başarısı incelendiğinde, kız ve erkek öğrenciler arasında belirgin bir fark olmadığı görülmektedir. Kız öğrencilerin ortalama puanı 505.70 iken, erkek öğrencilerin 504.72 olduğu anlaşılmaktadır. İki grup arasında sadece yaklaşık 1 puanlık bir fark bulunmakta olup, bu farkın ihmal edilebilir düzeyde olduğu söylenebili

2.10 Değişkenler Arası Puan Farkları

Yukarıdaki tablolardan çıkan sonuçları özetlemek amacıyla değişknlerin hangisinde en düşük ve en yüksek kategori arasında ne kadar puan olduğunu gösteren tablo manuel olarak hazırlanmıştır.

Sıra Değişken Başarı Farkı (Puan)
1 Matematik Konusunda Özgüven 131,40
2 Ev Kaynakları 113,34
3 Matematiği Sevme 98,87
4 Dijital Öz Yeterlik 95,55
5 Matematiğe Değer Verme 76,84
6 Okula Aidiyet 54,25
7 Devamsızlık 51,58
8 Zorbalığa Maruz Kalma 37,34
9 Cinsiyet 1,02

3 Değişkenlerin Seçimi

3.1 Korelasyon Analizi

Birbirne benzer yapılar olan değişkenleri modele birlikte dahil etmemek için değişkenler arası korelasyon incelenmiş, aşağıda sunulmuştur.

analiz_degiskenler <- timss_kisa %>%
  dplyr::select(
    ev_kaynaklari,            
    mat_sevme,                
    mat_ozguven,              
    dijital_oz_yeterlik,      
    mat_deger,                
    okul_aidiyet,             
    devamsizlik,              
    zorbalik                  
  ) %>%
  mutate(across(everything(), as.numeric)) %>%
  na.omit()

colnames(analiz_degiskenler) <- c(
  "Ev Kaynakları", 
  "Mat. Sevme",
  "Mat. Özgüveni",
  "Dijital Öz Yet.",
  "Mat. Değer",
  "Okula Aidiyet",
  "Devamsızlık",
  "Zorbalığa Maruz K."
)

cor_matrix <- cor(analiz_degiskenler, method = "spearman", use = "complete.obs")

p_matrix <- cor_pmat(analiz_degiskenler, method = "spearman")

ggcorrplot(cor_matrix,
           method = "circle",
           type = "lower",
           lab = TRUE,
           lab_size = 3.5,
           digits = 2,
           colors = c("#3498db", "white", "#e74c3c"),
           title = "Değişkenler Arası Spearman Korelasyon Matrisi",
           ggtheme = theme_minimal(),
           tl.cex = 11,
           tl.col = "black",
           legend.title = "Korelasyon",
           p.mat = p_matrix,
           sig.level = 0.05,
           insig = "blank") +
  theme(
    plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),
    axis.text.x = element_text(angle = 45, hjust = 1, size = 13),
    axis.text.y = element_text(size = 13),
    legend.position = "right"
  )

Korelasyonlar incelendiğinde Matematiği Sevme-Matematik Özgüveni ve Matematiği Sevme_matematiğe Değer Verme birlikte regresyon analizine dahil edilirse problem olabilir. Ancak diğer tüm ilişkiler .40’tan küçük olduğu için birlikte aynı modelde yer alabilirler. Burdan harektle kısa bir literatür taraması yaplarak modeldeki değişkenler belirlenmiştir.

3.2 Teorik Arka Plan

Ev öğrenme kaynaklarının başarı için en önemli yordayıcılardan bir olduğu önceki araştırmalarda tespit edilmiştir. Örneğin Mullis vd. (2020) ev öğrenme kaynakların akademik başarıdaki rolünü ortaya koyarken Lee ve Stankov (2018), başarıyı yordayan bilişsel süreçleri inceledikleri çalışmalarda ev öğrenme kaynaklarına vurgu yapmışlardır. Ayrıca Broer vd. (2019), ev öğrenme kaynaklarının dolaylı yoldan akademik özgüvenin gelişimine katkıda bulunduğunu, Lee ve Stankov (2018) ise ev öğrenme kaynakları ile akademik özgüven arasında %40’a yakın bir korelasyon bulmuştur. Bu durumda ev öğrenme kaynaklarının bağımsız; matematik konusunda özgüvenin ise aracı değişken olarak ele alınması araştırmalarda karşılık bulmaktadır. von Davier vd. (2024) TIMSS 2023 sonuç raporunda matematik başarısında cinsiyete bağlı farkların ülkeden ülkeye değiştiğini göstermektedir. Bu durum cinsiyeti moderatör değişken olarak alabileceğimize bir kanırt olabilir. Yukarıda yaptığımız analizlerde ise dijital özyeterlik ve matematiğe değer verme durumların göre öğrencilerin matematik başarısının önemli ölçüde değiştiği gözlemlenmiştir. Bu teorik temeller çerçevesinde araştırmada ele alınacak değişkenler şu şekildedir:

Bağımlı Değişken (Y): Matematik Başarısı (mat_basari_ort)

Bağımsız Değişken (X): Ev Kaynakları (ev_kaynaklari)

Aracı Değişken (M): Matematik Özgüveni (mat_ozguven)

Düzenleyici Değişken (W): Cinsiyet (cinsiyet)

Kontrol Değişkenleri: Dijital Öz Yeterlik (dijital_oz_yeterlik) ve Matematiğe Değer Verme (mat_deger)

3.3 Matematik Başarısı ile Modelde İncelenen Değikenler Arasındaki İlişki

Modele dahil edilen değişkenlerin matematik başarısı ile ilişkisini ortaya çıkarma için korelasyon analizi yapılmıştır.

kor_data <- timss_kisa %>%
  dplyr::select(ev_kaynaklari, mat_ozguven, 
         dijital_oz_yeterlik, mat_deger, mat_basari_ort) %>%
  mutate(across(1:5, as.numeric)) %>%  # Kategorikler → numeric
  na.omit()

kor_results <- data.frame(
  Degisken = c("Ev Kaynakları", "Matematik Özgüveni",
               "Dijital Öz Yeterlik", "Matematiğe Değer Verme"),
  Korelasyon = c(
    cor(kor_data$ev_kaynaklari, kor_data$mat_basari_ort, method = "spearman"),
    cor(kor_data$mat_ozguven, kor_data$mat_basari_ort, method = "spearman"),
    
    cor(kor_data$dijital_oz_yeterlik, kor_data$mat_basari_ort, method = "spearman"),
    cor(kor_data$mat_deger, kor_data$mat_basari_ort, method = "spearman")
  )
) %>%
  mutate(
    r = sprintf("%.3f", Korelasyon),
    Yorum = case_when(
      abs(Korelasyon) >= 0.50 ~ "Güçlü",
      abs(Korelasyon) >= 0.30 ~ "Orta",
      abs(Korelasyon) >= 0.10 ~ "Zayıf",
      TRUE ~ "Çok Zayıf"
    )
  ) %>%
  arrange(desc(abs(Korelasyon))) %>%
  dplyr::select(Degisken, r, Yorum)


kable(kor_results,
      caption = "Tablo: Değişkenler ile Matematik Başarısı Spearman Korelasyonu",
      align = c("l", "r", "l"),
      col.names = c("Değişken", "Spearman ρ", "Etki Büyüklüğü")) %>%
  kable_styling(bootstrap_options = c("striped", "hover"))
Tablo: Değişkenler ile Matematik Başarısı Spearman Korelasyonu
Değişken Spearman <U+03C1> Etki Büyüklüğü
Matematik Özgüveni 0.552 Güçlü
Ev Kaynakları 0.410 Orta
Matematiğe Değer Verme 0.242 Zayıf
Dijital Öz Yeterlik 0.186 Zayıf

Matematik başarısı ile değişkenler arasındaki korelasyon katsayıları incelendiğinde, en güçlü ilişkinin matematik özgüveni ile olduğu görülmektedir (r=0.552). Bunu ev kaynakları (r=0.410) takip etmektedir. Matematiğe değer verme (r=0.242) ve dijital öz yeterlik (r=0.166) değişkenlerinin ise matematik başarısı ile görece daha zayıf ilişkiler sergilediği anlaşılmaktadır. Bu bulgular, matematik özgüveninin başarı üzerindeki güçlü etkisini desteklemekte ve bu değişkenin aracı değişken olarak modelde yer almasının teorik gerekçesini güçlendirmektedir. Ev kaynaklarının da orta düzeyde bir ilişki göstermesi, bağımsız değişken olarak seçilmesinin uygun olduğuna işaret etmektedir. Dijital öz yeterlik ve matematiğe değer verme değişkenlerinin görece düşük korelasyon değerleri, bu değişkenlerin kontrol değişkeni olarak modele dahil edilmesinin uygun olduğu şeklinde yorumlanabilir.

4 Regresyon Analizleri

4.1 Basit Aracılık Analizi

model1_data <- timss_kisa %>%
  dplyr::select(ev_kaynaklari, mat_ozguven, mat_basari_ort, 
         dijital_oz_yeterlik, mat_deger) %>%
  mutate(across(1:5, as.numeric)) %>%
  na.omit()

model1_std <- model1_data %>%
  mutate(across(everything(), ~scale(.)[,1]))

med_model <- '
  # Path A: X → M
  mat_ozguven ~ a*ev_kaynaklari + dijital_oz_yeterlik + mat_deger
  
  # Path B, C: M,X → Y
  mat_basari_ort ~ b*mat_ozguven + c*ev_kaynaklari + dijital_oz_yeterlik + mat_deger
  
  # Etkiler
  indirect := a * b
  total := c + (a*b)
  direct := c
'

# Fit - Bootstrap 5000
set.seed(12345)
fit_med <- sem(med_model, data = model1_std,
               se = "bootstrap", bootstrap = 5000)

4.1.1 Basit Aracılık Modeli Regresyon Katsayıları

params <- parameterEstimates(fit_med, boot.ci.type = "bca.simple")

# Regresyon tablosu
reg_table <- params %>%
  filter(op == "~") %>%
  mutate(
    Model = case_when(
      lhs == "mat_ozguven" ~ "Aracı Değişken Modeli",
      lhs == "mat_basari_ort" ~ "Bağımlı Değişken Modeli"
    ),
    Yordayıcı = case_when(
      rhs == "ev_kaynaklari" ~ "Ev Kaynakları",
      rhs == "mat_ozguven" ~ "Matematik Özgüveni",
      rhs == "dijital_oz_yeterlik" ~ "Dijital Öz Yeterlik",
      rhs == "mat_deger" ~ "Matematiğe Değer Verme"
    ),
    B = sprintf("%.3f", est),
    SE = sprintf("%.3f", se),
    `p değeri` = case_when(
      pvalue < 0.001 ~ "< .001***",
      pvalue < 0.01 ~ sprintf("%.3f**", pvalue),
      pvalue < 0.05 ~ sprintf("%.3f*", pvalue),
      TRUE ~ sprintf("%.3f", pvalue)
    )
  ) %>%
  dplyr::select(Model, Yordayıcı, B, SE, `p değeri`)

kable(reg_table,
      caption = "Model 1 Basit Aracılık Modeli Regresyon Katsayıları",
      align = c("l", "l", "r", "r", "r"),
      booktabs = TRUE) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    font_size = 12
  ) %>%
  pack_rows("Sonuç: Matematik Özgüveni (M)", 1, 3) %>%
  pack_rows("Sonuç: Matematik Başarısı (Y)", 4, 7) %>%
  footnote(
    general = "Not: N = 4,697. Bootstrap örneklem = 5,000. Tüm değişkenler standardize edilmiştir.",
    general_title = "",
    footnote_as_chunk = TRUE
  )
Model 1 Basit Aracılık Modeli Regresyon Katsayıları
Model Yordayıcı B SE p değeri
Sonuç: Matematik Özgüveni (M)
Aracı Değişken Modeli Ev Kaynakları 0.172 0.014 < .001***
Aracı Değişken Modeli Dijital Öz Yeterlik 0.072 0.013 < .001***
Aracı Değişken Modeli Matematiğe Değer Verme 0.343 0.013 < .001***
Sonuç: Matematik Başarısı (Y)
Bağımlı Değişken Modeli Matematik Özgüveni 0.477 0.012 < .001***
Bağımlı Değişken Modeli Ev Kaynakları 0.289 0.012 < .001***
Bağımlı Değişken Modeli Dijital Öz Yeterlik 0.058 0.012 < .001***
Bağımlı Değişken Modeli Matematiğe Değer Verme 0.028 0.012 0.024*
Not: N = 4,697. Bootstrap örneklem = 5,000. Tüm değişkenler standardize edilmiştir.

Model sonuçlarına göre, ev kaynaklarının matematik özgüveni üzerinde anlamlı bir etkisi olduğu görülmektedir (B=0.172, p<.001). Matematik özgüveni de matematik başarısını güçlü bir şekilde yordamaktadır (B=0.477, p<.001). Ayrıca ev kaynaklarının matematik başarısı üzerinde doğrudan etkisi de devam etmektedir (B=0.289, p<.001). Kontrol değişkenlerine bakıldığında, matematiğe değer vermenin matematik özgüveni üzerinde oldukça güçlü bir etkisi olduğu (B=0.343, p<.001), ancak matematik başarısı üzerindeki doğrudan etkisinin zayıf kaldığı (B=0.028, p=.024) dikkat çekmektedir. Dijital öz yeterliğin ise hem matematik özgüveni hem de matematik başarısı üzerinde istatistiksel olarak anlamlı ancak görece küçük etkiler gösterdiği anlaşılmaktadır.

Bu bulgular, matematik özgüveninin ev kaynakları ile matematik başarısı arasında kısmi aracılık rolü oynadığına işaret etmektedir.

4.1.2 Toplam Direkt ve Dolaylı Etkiler

effect_total <- params %>% filter(label == "total")
effect_direct <- params %>% filter(label == "direct")
effect_indirect <- params %>% filter(label == "indirect")

# Manuel tablo oluştur
effects <- data.frame(
  Etki = c("Toplam Etki", "Direkt Etki (c)", "Dolaylı Etki (a × b)"),
  B = c(
    sprintf("%.3f", effect_total$est),
    sprintf("%.3f", effect_direct$est),
    sprintf("%.3f", effect_indirect$est)
  ),
  SE = c(
    sprintf("%.3f", effect_total$se),
    sprintf("%.3f", effect_direct$se),
    sprintf("%.3f", effect_indirect$se)
  ),
  `95% GA` = c(
    paste0("[", sprintf("%.3f", effect_total$ci.lower), ", ", 
           sprintf("%.3f", effect_total$ci.upper), "]"),
    paste0("[", sprintf("%.3f", effect_direct$ci.lower), ", ", 
           sprintf("%.3f", effect_direct$ci.upper), "]"),
    paste0("[", sprintf("%.3f", effect_indirect$ci.lower), ", ", 
           sprintf("%.3f", effect_indirect$ci.upper), "]")
  ),
  Yüzde = c("100%", "78%", "22%")
)

kable(effects,
      caption = "Ev Kaynaklarının Matematik Başarısına Toplam, Direkt ve Dolaylı Etkileri",
      align = c("l", "r", "r", "c", "r"),
      booktabs = TRUE,
      col.names = c("Etki", "B", "SE", "95% GA", "Yüzde")) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    font_size = 12
  ) %>%
  footnote(
    general = "Not: GA = Güven Aralığı (Bootstrap). Dolaylı etki matematik özgüveni aracılığıyla gerçekleşmektedir.",
    general_title = "",
    footnote_as_chunk = TRUE
  )
Ev Kaynaklarının Matematik Başarısına Toplam, Direkt ve Dolaylı Etkileri
Etki B SE 95% GA Yüzde
Toplam Etki 0.371 0.014 [0.345, 0.398] 100%
Direkt Etki (c) 0.289 0.012 [0.266, 0.313] 78%
Dolaylı Etki (a × b) 0.082 0.007 [0.069, 0.096] 22%
Not: GA = Güven Aralığı (Bootstrap). Dolaylı etki matematik özgüveni aracılığıyla gerçekleşmektedir.

Ev kaynaklarının matematik başarısı üzerindeki toplam etkisi 0.371 olarak bulunmuştur. Bu etkinin %78’i (B=0.289) doğrudan gerçekleşirken, %22’si (B=0.082) matematik özgüveni aracılığıyla dolaylı yoldan gerçekleşmektedir. Dolaylı etkinin bootstrap güven aralığının sıfır içermemesi [0.069, 0.096], matematik özgüveninin istatistiksel olarak anlamlı bir aracılık rolü oynadığını göstermektedir. Bu bulgular, ev kaynaklarının matematik başarısını hem doğrudan etkilediğini hem de öğrencilerin matematik özgüvenini artırarak dolaylı bir etki yarattığını ortaya koymaktadır. Ancak aracılık etkisinin görece küçük olması (toplam etkinin sadece %22’si), ev kaynaklarının başarı üzerindeki etkisinin büyük ölçüde doğrudan gerçekleştiğine işaret etmektedir.

4.1.3 Aracılık Modeli Uyum İstatistikleri ve Açıklanan Varyans

# lavaan'dan R² değerlerini çek
r2_values <- inspect(fit_med, "r2")

# Uyum indeksleri tablosu
model_summary <- data.frame(
  İndeks = c("CFI", "TLI", "RMSEA", "SRMR", 
             "R² (Mat. Özgüven)", "R² (Mat. Başarı)"),
  Değer = c(
    sprintf("%.3f", fitMeasures(fit_med, "cfi")),
    sprintf("%.3f", fitMeasures(fit_med, "tli")),
    sprintf("%.3f", fitMeasures(fit_med, "rmsea")),
    sprintf("%.3f", fitMeasures(fit_med, "srmr")),
    sprintf("%.3f", r2_values["mat_ozguven"]),
    sprintf("%.3f", r2_values["mat_basari_ort"])
  ),
  Yorum = c("Mükemmel uyum", "Mükemmel uyum", "Mükemmel uyum", 
            "Mükemmel uyum", "—", "—")
)

kable(model_summary,
      caption = "Model 1 Uyum İndeksleri ve Açıklanan Varyans",
      align = c("l", "r", "l"),
      booktabs = TRUE) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    font_size = 12
  ) %>%
  pack_rows("Model Uyum İndeksleri", 1, 4) %>%
  pack_rows("Açıklanan Varyans (R²)", 5, 6) %>%
  footnote(
    general = "Not: Kabul edilebilir uyum kriterleri: CFI ve TLI ≥ 0.95, RMSEA ≤ 0.05, SRMR ≤ 0.08."
  )
Model 1 Uyum İndeksleri ve Açıklanan Varyans
İndeks Değer Yorum
Model Uyum İndeksleri
CFI 1.000 Mükemmel uyum
TLI 1.000 Mükemmel uyum
RMSEA 0.000 Mükemmel uyum
SRMR 0.000 Mükemmel uyum
Açıklanan Varyans (R²)
R² (Mat. Özgüven) 0.177
R² (Mat. Başarı) 0.406
Note:
Not: Kabul edilebilir uyum kriterleri: CFI ve TLI <U+2265> 0.95, RMSEA <U+2264> 0.05, SRMR <U+2264> 0.08.

Modelin uyum indeksleri incelendiğinde, tüm değerlerin mükemmel uyum gösterdiği görülmektedir (CFI=1.000, TLI=1.000, RMSEA=0.000, SRMR=0.000). Bu değerler, modelin veriye çok iyi uyum sağladığını göstermektedir. Açıklanan varyans değerlerine bakıldığında, modeldeki değişkenlerin (ev kaynakları, dijital öz yeterlik ve matematiğe değer verme) matematik özgüveninin %17.7’sini açıkladığı anlaşılmaktadır. Matematik başarısı için ise açıklanan varyans oranı %40.6’dır. Bu, modelin matematik başarısındaki değişkenliğin yaklaşık %41’ini açıklayabildiğini göstermekte olup, sosyal bilimler için yüksek bir değer olarak değerlendirilebilir. Bu bulgular, kurulan modelin hem istatistiksel uyum açısından hem de açıklama gücü bakımından başarılı olduğuna işaret etmektedir.

4.1.4 Aracılık Modeli Yol Diyagramı

a <- 0.172
b <- 0.477
c <- 0.289
dij_oz <- 0.072
dij_bas <- 0.058
deg_oz <- 0.343
deg_bas <- 0.028

# Node pozisyonları (SOL → SAĞ)
nodes <- data.frame(
  name = c("Ev\nKaynakları", "Dijital\nÖz Yet.", "Mat.\nDeğer",
           "Mat.\nÖzgüven", "Mat.\nBaşarı"),
  x = c(1, 1, 1, 4, 7),
  y = c(3, 1.5, 4.5, 3, 3),
  type = c("X", "C", "C", "M", "Y")
)

# Paths
paths <- data.frame(
  x1 = c(1, 4, 1,    1,    1,    1,    1),
  y1 = c(3, 3, 3,    1.5,  1.5,  4.5,  4.5),
  x2 = c(4, 7, 7,    4,    7,    4,    7),
  y2 = c(3, 3, 3,    3,    3,    3,    3),
  label = c(
    paste0("a = ", a, "***"),
    paste0("b = ", b, "***"),
    paste0("c = ", c, "***"),
    paste0(dij_oz, "***"),
    paste0(dij_bas, "***"),
    paste0(deg_oz, "***"),
    paste0(deg_bas, "*")
  ),
  thickness = c(1.5, 2, 1.5, 0.8, 0.8, 1.2, 0.6),
  label_y = c(3.4, 3.4, 2.5, 2.5, 2, 4, 4)
)

# Grafik
ggplot() +
  # Oklar
  geom_segment(data = paths,
               aes(x = x1, y = y1, xend = x2, yend = y2, size = thickness),
               arrow = arrow(length = unit(0.35, "cm"), type = "closed"),
               color = "black") +
  scale_size_identity() +
  
  # Path etiketleri (BÜYÜK ve OKUNUR)
  geom_label(data = paths,
             aes(x = (x1 + x2)/2, y = label_y, label = label),
             size = 5, fontface = "bold", 
             fill = "white", label.size = 0.5) +
  
  # Node'lar (renkli kutular)
  geom_label(data = nodes,
             aes(x = x, y = y, label = name, fill = type),
             size = 6, fontface = "bold",
             label.padding = unit(0.6, "lines"),
             label.size = 1) +
  scale_fill_manual(values = c(
    "X" = "#E8F4F8",    # Bağımsız - Açık mavi
    "M" = "#FFF4E6",    # Aracı - Turuncu
    "Y" = "#E8F8E8",    # Bağımlı - Yeşil
    "C" = "#F5F5F5"     # Kontrol - Gri
  )) +
  
  # Tema
  theme_void() +
  theme(
    legend.position = "none",
    plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),
    plot.margin = margin(30, 30, 30, 30)
  ) +
  labs(title = "Matematik Özgüveninin Aracı Rolü") +
  coord_cartesian(xlim = c(0, 8), ylim = c(0.5, 5))

Path diyagramı, ev kaynaklarının matematik başarısı üzerindeki etkisinde matematik özgüveninin kısmi aracılık rolü oynadığını net bir şekilde göstermektedir. Ev kaynakları hem matematik özgüvenini artırmakta (a=0.172***) hem de başarıyı doğrudan etkilemektedir (c=0.289***). Matematik özgüveninin başarı üzerindeki etkisi ise oldukça güçlüdür (b=0.477***). Kontrol değişkenlerinden matematiğe değer vermenin matematik özgüveni üzerinde güçlü bir etkisi (0.343***) varken, başarı üzerindeki doğrudan etkisinin zayıf kaldığı (0.028*) dikkat çekmektedir. Dijital öz yeterliğin ise her iki değişken üzerinde de istatistiksel olarak anlamlı ancak küçük etkiler gösterdiği görülmektedir.

4.2 Düzenleyici Model

model2_data <- timss_kisa %>%
  dplyr::select(ev_kaynaklari, mat_ozguven, cinsiyet, mat_basari_ort,
         dijital_oz_yeterlik, mat_deger) %>%
  mutate(across(1:6, as.numeric)) %>%
  na.omit()

model2_std <- model2_data %>%
  mutate(across(everything(), ~scale(.)[,1])) %>%
  mutate(
    # Etkileşim terimleri oluştur
    ev_x_cins = ev_kaynaklari * cinsiyet,
    ozguven_x_cins = mat_ozguven * cinsiyet
  )

mod2_syntax <- '
  # Path A (+ moderasyon)
  mat_ozguven ~ a*ev_kaynaklari + w1*cinsiyet + 
                a_mod*ev_x_cins + 
                dijital_oz_yeterlik + mat_deger
  
  # Path B, C (+ moderasyonlar)
  mat_basari_ort ~ b*mat_ozguven + c*ev_kaynaklari + 
                   w2*cinsiyet +
                   b_mod*ozguven_x_cins + 
                   c_mod*ev_x_cins +
                   dijital_oz_yeterlik + mat_deger
  
  # Etkiler (conditional - düşük/orta/yüksek cinsiyet için hesaplanacak)
  indirect := a * b
  total := c + (a*b)
  direct := c
'

# Fit - Bootstrap 5000
set.seed(12345)
fit_mod2 <- sem(mod2_syntax, data = model2_std,
                 se = "bootstrap", bootstrap = 5000)

4.2.1 Düzenleyici Model Sonuçları

params <- parameterEstimates(fit_mod2, boot.ci.type = "bca.simple")

reg_table <- params %>%
  filter(op == "~") %>%
  mutate(
    Model = case_when(
      lhs == "mat_ozguven" ~ "Aracı Değişken Modeli",
      lhs == "mat_basari_ort" ~ "Bağımlı Değişken Modeli"
    ),
    Yordayıcı = case_when(
      rhs == "ev_kaynaklari" ~ "Ev Kaynakları",
      rhs == "mat_ozguven" ~ "Matematik Özgüveni",
      rhs == "cinsiyet" ~ "Cinsiyet",
      rhs == "ev_x_cins" ~ "Ev Kay. × Cinsiyet",
      rhs == "ozguven_x_cins" ~ "Özgüven × Cinsiyet",
      rhs == "dijital_oz_yeterlik" ~ "Dijital Öz Yeterlik",
      rhs == "mat_deger" ~ "Matematiğe Değer Verme"
    ),
    B = sprintf("%.3f", est),
    SE = sprintf("%.3f", se),
    `p değeri` = case_when(
      pvalue < 0.001 ~ "< .001***",
      pvalue < 0.01 ~ sprintf("< .01**"),
      pvalue < 0.05 ~ sprintf("< .05*"),
      TRUE ~ sprintf("%.3f", pvalue)
    )
  ) %>%
  dplyr::select(Model, Yordayıcı, B, SE, `p değeri`)

kable(reg_table,
      caption = "Düzenlenmiş Aracılık Modeli Regresyon Katsayıları",
      align = c("l", "l", "r", "r", "r"),
      booktabs = TRUE) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    font_size = 12
  ) %>%
  pack_rows("Sonuç: Matematik Özgüveni (M)", 1, 5) %>%
  pack_rows("Sonuç: Matematik Başarısı (Y)", 6, 12) %>%
  footnote(
    general = "Not: N = 4,697. Bootstrap örneklem = 5,000. Tüm değişkenler standardize edilmiştir. Cinsiyet: 1=Kız, 2=Erkek.",
    general_title = "",
    footnote_as_chunk = TRUE
  )
Düzenlenmiş Aracılık Modeli Regresyon Katsayıları
Model Yordayıcı B SE p değeri
Sonuç: Matematik Özgüveni (M)
Aracı Değişken Modeli Ev Kaynakları 0.176 0.014 < .001***
Aracı Değişken Modeli Cinsiyet 0.071 0.013 < .001***
Aracı Değişken Modeli Ev Kay. × Cinsiyet 0.028 0.014 < .05*
Aracı Değişken Modeli Dijital Öz Yeterlik 0.068 0.013 < .001***
Aracı Değişken Modeli Matematiğe Değer Verme 0.344 0.013 < .001***
Sonuç: Matematik Başarısı (Y)
Bağımlı Değişken Modeli Matematik Özgüveni 0.477 0.012 < .001***
Bağımlı Değişken Modeli Ev Kaynakları 0.288 0.012 < .001***
Bağımlı Değişken Modeli Cinsiyet -0.008 0.011 0.477
Bağımlı Değişken Modeli Özgüven × Cinsiyet 0.008 0.011 0.463
Bağımlı Değişken Modeli Ev Kay. × Cinsiyet 0.004 0.012 0.720
Bağımlı Değişken Modeli Dijital Öz Yeterlik 0.058 0.012 < .001***
Bağımlı Değişken Modeli Matematiğe Değer Verme 0.027 0.012 < .05*
Not: N = 4,697. Bootstrap örneklem = 5,000. Tüm değişkenler standardize edilmiştir. Cinsiyet: 1=Kız, 2=Erkek.

Model 2 (Düzenlenmiş Aracılık Modeli) sonuçlarına göre, cinsiyetin sadece birinci aşamada (ev kaynakları → matematik özgüveni yolu) düzenleyici rol oynadığı görülmektedir. Ev kaynaklarının matematik özgüvenine etkisi 0.176*** iken, ev kaynakları × cinsiyet etkileşimi anlamlıdır (B=0.028, p<.05). Bu, ev kaynaklarının matematik özgüvenine etkisinin cinsiyete göre farklılaştığını göstermektedir. Matematik özgüveninin başarı üzerindeki etkisi güçlü ve anlamlıdır (B=0.477***). Ancak cinsiyet ile ilgili hiçbir etkileşim terimi anlamlı değildir: Özgüven × Cinsiyet (p=.463) ve Ev Kay. × Cinsiyet (p=.720).

Cinsiyet, ev kaynaklarının matematik özgüvenine etkisini düzenlemekte, ancak matematik özgüveninin başarıya etkisini veya ev kaynaklarının başarıya doğrudan etkisini düzenlememektedir.

4.2.2 Koşullu Etkiler

conditional_effects <- data.frame(
  Grup = c("Kızlar", "Erkekler", "Fark"),
  `Toplam Etki` = c(
    sprintf("%.3f***", 0.284 + 0.069),  # c_kiz + indirect_kiz
    sprintf("%.3f***", 0.292 + 0.099),  # c_erkek + indirect_erkek
    sprintf("%.3f", (0.292 + 0.099) - (0.284 + 0.069))
  ),
  `Direkt Etki` = c(
    sprintf("%.3f***", 0.284),
    sprintf("%.3f***", 0.292),
    sprintf("%.3f", 0.292 - 0.284)
  ),
  `Dolaylı Etki` = c(
    sprintf("%.3f***", 0.069),
    sprintf("%.3f***", 0.099),
    sprintf("%.3f*", 0.099 - 0.069)
  )
)

kable(conditional_effects,
      caption = "Koşullu Etkiler: Kızlar ve Erkeklerde Ev Kaynaklarının Matematik Başarısına Etkileri",
      col.names = c("Grup", "Toplam", "Direkt", "Dolaylı"),
      align = c("l", "r", "r", "r"),
      booktabs = TRUE) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover"),
    full_width = FALSE
  ) %>%
  footnote(
    general = "Not: *** p < .001, * = Moderasyon anlamlı. Dolaylı etki matematik özgüveni aracılığıyla.",
    general_title = ""
  )
Koşullu Etkiler: Kızlar ve Erkeklerde Ev Kaynaklarının Matematik Başarısına Etkileri
Grup Toplam Direkt Dolaylı
Kızlar 0.353*** 0.284*** 0.069***
Erkekler 0.391*** 0.292*** 0.099***
Fark 0.038 0.008 0.030*
Not: *** p < .001, * = Moderasyon anlamlı. Dolaylı etki matematik özgüveni aracılığıyla.

Koşullu etkiler tablosu, ev kaynaklarının matematik başarısına etkisinin kızlar ve erkeklerde nasıl gerçekleştiğini göstermektedir.

Kızlarda: Ev kaynaklarının toplam etkisi 0.353*** olup, bunun %80’i doğrudan (0.284***), %20’si matematik özgüveni aracılığıyla dolaylı yoldan (0.069***) gerçekleşmektedir.

Erkeklerde: Toplam etki 0.391*** olup, %75’i doğrudan (0.292***), %25’i dolaylı yoldan (0.099***) gerçekleşmektedir.

Gruplar Arası Fark: Toplam ve doğrudan etkilerdeki farklar istatistiksel olarak anlamlı değilken (p>.05), dolaylı etkideki fark anlamlıdır (0.030*). Bu, matematik özgüveninin aracılık rolünün erkeklerde daha güçlü olduğunu göstermektedir.

4.2.3 Model Uyum İndeksleri ve Açıklanan Varyans

fit_measures <- fitMeasures(fit_mod2)

model_summary <- data.frame(
  İndeks = c("CFI", "TLI", "RMSEA", "SRMR", 
             "R² (Mat. Özgüven)", "R² (Mat. Başarı)"),
  Değer = c(
    sprintf("%.3f", fit_measures["cfi"]),
    sprintf("%.3f", fit_measures["tli"]),
    sprintf("%.3f", fit_measures["rmsea"]),
    sprintf("%.3f", fit_measures["srmr"]),
    "0.183", "0.406"
  ),
  Yorum = c("Mükemmel uyum", "Mükemmel uyum", 
            "Mükemmel uyum", "Mükemmel uyum", "—", "—")
)

kable(model_summary,
      caption = "Model 2 Uyum İndeksleri ve Açıklanan Varyans",
      align = c("l", "r", "l"),
      booktabs = TRUE) %>%
  kable_styling() %>%
  pack_rows("Model Uyum İndeksleri", 1, 4) %>%
  pack_rows("Açıklanan Varyans (R²)", 5, 6) %>%
  footnote(general = "Not: CFI/TLI ≥ 0.95, RMSEA ≤ 0.05, SRMR ≤ 0.08 = Kabul edilebilir uyum.")
Model 2 Uyum İndeksleri ve Açıklanan Varyans
İndeks Değer Yorum
Model Uyum İndeksleri
CFI 0.997 Mükemmel uyum
TLI 0.957 Mükemmel uyum
RMSEA 0.049 Mükemmel uyum
SRMR 0.008 Mükemmel uyum
Açıklanan Varyans (R²)
R² (Mat. Özgüven) 0.183
R² (Mat. Başarı) 0.406
Note:
Not: CFI/TLI <U+2265> 0.95, RMSEA <U+2264> 0.05, SRMR <U+2264> 0.08 = Kabul edilebilir uyum.

Model 2’nin uyum indeksleri incelendiğinde, tüm değerlerin mükemmel uyum kriterlerini karşıladığı görülmektedir (CFI=0.997, TLI=0.957, RMSEA=0.049, SRMR=0.008). Bu değerler, düzenlenmiş aracılık modelinin veriye çok iyi uyum sağladığını göstermektedir. Açıklanan varyans oranlarına bakıldığında, modeldeki değişkenlerin (ev kaynakları, cinsiyet, etkileşim terimleri ve kontrol değişkenleri) matematik özgüveninin %18.3’ünü açıkladığı anlaşılmaktadır. Model 1’e göre (R²=0.177) cinsiyet ve etkileşim terimlerinin eklenmesiyle açıklanan varyans çok az artmıştır. Matematik başarısı için açıklanan varyans oranı %40.6 olup, Model 1 ile aynı düzeydedir. Bu, cinsiyet ve etkileşim terimlerinin başarı üzerindeki doğrudan etkilerinin anlamlı olmadığı bulgusunu desteklemektedir.

4.2.4 Cinsiyete Göre Ev Kaynaklarının Başarıya Etkisi

# Katsayılar (simple slopes'tan)
a_kiz <- 0.147
a_erkek <- 0.204

# Veri oluştur
slopes_data <- data.frame(
  Ev_Kaynakları = rep(seq(-2, 2, 0.1), 2),
  Cinsiyet = rep(c("Kızlar", "Erkekler"), each = 41)
) %>%
  mutate(
    Özgüven = ifelse(Cinsiyet == "Kızlar",
                     a_kiz * Ev_Kaynakları,
                     a_erkek * Ev_Kaynakları)
  )

# Grafik
ggplot(slopes_data, aes(x = Ev_Kaynakları, y = Özgüven, 
                        color = Cinsiyet, linetype = Cinsiyet)) +
  geom_line(size = 1.8) +
  geom_vline(xintercept = 0, linetype = "dotted", alpha = 0.4, size = 0.5) +
  geom_hline(yintercept = 0, linetype = "dotted", alpha = 0.4, size = 0.5) +
  scale_color_manual(values = c("Kızlar" = "#E91E63", "Erkekler" = "#2196F3")) +
  scale_linetype_manual(values = c("Kızlar" = "solid", "Erkekler" = "solid")) +
  labs(
    title = "Ev Kaynaklarının Matematik Özgüvenine Etkisi: Cinsiyet Farklılıkları",
    x = "Ev Kaynakları (Standardize)",
    y = "Matematik Özgüveni (Tahmin Edilen)",
    caption = paste0("Not: Kızlar için eğim = ", sprintf("%.3f", a_kiz),
                    ", Erkekler için eğim = ", sprintf("%.3f", a_erkek),
                    " (Fark anlamlı, p < .05)")
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold", size = 14),
    plot.caption = element_text(hjust = 0.5, size = 10, face = "italic"),
    legend.position = "top",
    legend.title = element_blank(),
    legend.text = element_text(size = 12),
    axis.title = element_text(size = 12),
    axis.text = element_text(size = 11),
    panel.grid.minor = element_blank()
  ) +
  coord_cartesian(ylim = c(-0.5, 0.5))

Ev kaynaklarının erkek öğrencilerin matematik özgüveni üzerinde daha güçlü bir etkiye sahip olduğunu görülmektedir. Erkekler, ev kaynaklarındaki artıştan kızlara göre daha fazla faydalanmaktadır. Bu durum, sosyalizasyon süreçleri ve ev ortamındaki öğrenme fırsatlarının cinsiyete göre farklı şekillerde değerlendirilmesiyle ilişkilendirilebilir.

4.2.5 Düzenleyici Model Path

# Katsayılar
a <- 0.176
b <- 0.477
c <- 0.288
a_mod <- 0.028
w1 <- 0.071

# Node pozisyonları - DÜZENLENDİ
nodes <- data.frame(
  name = c("Ev\nKaynakları", "Mat.\nÖzgüven", "Mat.\nBaşarı", 
           "Cinsiyet", "Kontrol\nDeğişkenler"),
  x = c(1, 5, 9, 1, 1),
  y = c(3, 3, 3, 1, 5),
  type = c("X", "M", "Y", "W", "C")
)

# Ana path'ler
paths_main <- data.frame(
  x1 = c(1, 5, 1),
  y1 = c(3, 3, 3),
  x2 = c(5, 9, 9),
  y2 = c(3, 3, 3),
  label = c(
    paste0("a = ", a, "***"),
    paste0("b = ", b, "***"),
    paste0("c' = ", c, "***")
  ),
  label_y = c(3.6, 3.6, 2.4)
)

# Moderasyon path'leri - ETİKETLER AŞAĞI VE SOLA KAYDIRILDI
paths_mod <- data.frame(
  x1 = c(1, 2.5),
  y1 = c(1, 2),
  x2 = c(5, 5),
  y2 = c(3, 3),
  label = c(
    paste0("w1 = ", w1, "***"),
    paste0("a×W = ", a_mod, "*")
  ),
  label_x = c(2.3, 2.8),    # SOLA KAYDIRILDI (3 → 2.3, 3.5 → 2.8)
  label_y = c(1.6, 2.3),    # AŞAĞI KAYDIRILDI (2 → 1.6, 2.7 → 2.3)
  curve = c(0.3, 0)
)

# Kontrol path'leri - TEK OKLA GÖSTERİLDİ
paths_control <- data.frame(
  x1 = 1, y1 = 5,
  x2 = 7, y2 = 3.5
)

# Grafik
ggplot() +
  # Kontrol path'i (tek çizgi)
  geom_curve(data = paths_control,
             aes(x = x1, y = y1, xend = x2, yend = y2),
             arrow = arrow(length = unit(0.2, "cm"), type = "closed"),
             color = "gray60", size = 0.5, linetype = "dashed",
             curvature = -0.2) +
  
  # Moderasyon path'leri
  geom_curve(data = paths_mod,
             aes(x = x1, y = y1, xend = x2, yend = y2, curvature = curve),
             arrow = arrow(length = unit(0.3, "cm"), type = "closed"),
             color = "#FF6B35", size = 1.2) +
  
  # Ana path'ler
  geom_segment(data = paths_main,
               aes(x = x1, y = y1, xend = x2, yend = y2),
               arrow = arrow(length = unit(0.35, "cm"), type = "closed"),
               color = "#2C3E50", size = 1.5) +
  
  # Etiketler - Ana path'ler
  geom_label(data = paths_main,
             aes(x = (x1 + x2)/2, y = label_y, label = label),
             size = 5.5, fontface = "bold", fill = "white", 
             label.size = 0.8, label.padding = unit(0.35, "lines")) +
  
  # Etiketler - Moderasyon
  geom_label(data = paths_mod,
             aes(x = label_x, y = label_y, label = label),
             size = 5, fontface = "bold", fill = "#FFE5D9", 
             color = "#FF6B35",
             label.size = 0.7,
             label.padding = unit(0.35, "lines")) +
  
  # Node'lar
  geom_label(data = nodes,
             aes(x = x, y = y, label = name, fill = type),
             size = 7, fontface = "bold",
             label.padding = unit(0.7, "lines"),
             label.size = 1.2) +
  
  scale_fill_manual(values = c(
    "X" = "#D6EAF8",
    "M" = "#FCF3CF",
    "Y" = "#D5F4E6",
    "W" = "#FADBD8",
    "C" = "#F4F6F7"
  )) +
  
  # Tema
  theme_void() +
  theme(
    legend.position = "none",
    plot.title = element_text(hjust = 0.5, size = 18, face = "bold", 
                              margin = margin(b = 5)),
    plot.subtitle = element_text(hjust = 0.5, size = 11, color = "gray30",
                                 margin = margin(b = 20)),
    plot.margin = margin(20, 20, 20, 20)
  ) +
  labs(
    title = "Model 2: Düzenlenmiş Aracılık Modeli",
    subtitle = "Cinsiyetin ev kaynakları → matematik özgüveni ilişkisini düzenleyici rolü"
  ) +
  coord_cartesian(xlim = c(0, 10), ylim = c(0, 6))

Grafikte görüldüğü üzere, ev kaynakları matematik özgüvenini artırmakta (a=0.176***) ve matematik özgüveni de başarıyı güçlü bir şekilde yordamaktadır (b=0.477***). Cinsiyet hem doğrudan matematik özgüvenini etkilemekte (w1=0.071***) hem de ev kaynaklarının özgüvene etkisini güçlendirmekte ya da zayıflatmaktadır (a×W=0.028*). Önceki grafikte gördüğümüz gibi, bu etki erkeklerde daha güçlü olmaktadır.Cinsiyet, sürecin ilk kısmını (ev kaynakları → özgüven) etkilemekte ama ikinci kısmı ile(özgüven → başarı) ilgili gözükmemektedir.

5 R Günlüğüm

R ile aramda duygusal bir bağ kurmaya başladım. Bazen yürürken kendimi R ile konuşurken buluyorum; o anlarda çok seviniyorum. Çünkü uzun zamandır kafama takacak faydalı bir şey bulamıyordum. Umarım ilgim en azından bir seviyeye gelene kadar bu durum böyle devam eder. Bazen de yapamaycağımı düşündüğüm şeyleri kolaylıkla yapıyorum, böyle zamanlarda keyiften dört köşe oluyorum. Tabi R ile hep mutlu değilim; bazen kesin emin olduğum bunu yaparım dediğim bir şeyi yapamıyorum veya çok küçük bir hatayı bulamıyorum. Bu durumlarda da kederlenip kendime kızıyorum.

Bazen nasıl yaptığımı anlayamayışım, bazense çok kolay yapabileceğimi düşündüğüm şeyleri yapamayışım henüz yolun çok başında olduğumu gösteriyor. Tam bu böyle işte dediğim anlarda karşıma yeni bir zorluk çıkıyor. Zorlukları aşmak, kodları yazmak için zamanımızın tüm kod yazıcıları gibi sık sık yapay zekaya başvuruyorum. Yapay zeka R öğrenmeyi ve R mantığında düşünmeyi zayıflatıyor, daha zor hale getiriyor. Ama öte yandan “yapay zeka ile nasıl konuşursam, nasıl bir promt yazarsam en iyi sonuçları alırım? gibi sorular zihni eğitiyor. Bu da yapay zekayı R için kullanma becerisini geliştiriyor. Burada hangi yaklaşım doğru onu da zamanla öğreneceğim.

Bu hafta yaptığım ödevle pek çok önemli eksikliğim olduğunu gördüm. Belki bilgi düzeyimdeki eksikliklerden dolayı daha büyük hatalarım var ama hata olduğunun bile farkında değilim.

Öncelikle uluslar arası sınavlarda veri yapısı gereği ağırlıklar var am ben onları analize nasıl dahil edeceğimi anlayamadım.

İkincisi 5 olası matematik puanının ortalamasını alarak analiz yaptım ama bu doğru değil. Olası değerlerin hepsini dahil ederek analiz yapmam gerekirdi, denedim, yapamadım.

Üçüncüsü yaptığım analiz ve yorumlar halen taklit düzeyinde devam ediyor. Çok iyi yaptığımı düşündüğüm kısımlarda bile bir jüri karşısında savunacak kadar hakim değilim. Umarım bir gün o seviyede öğrenebilmiş bir ben bulurum.

6 Kaynaklar

Broer, M., Bai, Y., & Fonseca, F. (2019). Socioeconomic inequality and educational outcomes: Evidence from twenty years of TIMSS. Springer. https://doi.org/10.1007/978-3-030-11991-1

Lee, J., & Stankov, L. (2018). Non-cognitive predictors of academic achievement: Evidence from TIMSS and PISA. Learning and Individual Differences, 65, 50–64. https://doi.org/10.1016/j.lindif.2018.05.009

Mullis, I. V. S., Martin, M. O., Foy, P., Kelly, D. L., & Fishbein, B. (2020). TIMSS 2019 international results in mathematics and science: Highlights. TIMSS & PIRLS International Study Center.

von Davier, M., Kennedy, A., Reynolds, K., Fishbein, B., Khorramdel, L., Aldrich, C., Bookbinder, A., Bezirhan, U., & Yin, L. (2024). TIMSS 2023 International Results in Mathematics and Science. Boston College, TIMSS & PIRLS International Study Center. https://doi.org/10.6017/lse.tpisc.timss.rs6460