VERİ SETİNİN VE GEREKLİ PAKETLERİN YÜKLENMESİ

library(haven)     
## Warning: package 'haven' was built under R version 4.4.3
library(dplyr)     
## Warning: package 'dplyr' was built under R version 4.4.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)  
library(psych)     
## Warning: package 'psych' was built under R version 4.4.3
## 
## Attaching package: 'psych'
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
library(car)    
## Warning: package 'car' was built under R version 4.4.3
## Zorunlu paket yükleniyor: carData
## 
## Attaching package: 'car'
## The following object is masked from 'package:psych':
## 
##     logit
## The following object is masked from 'package:dplyr':
## 
##     recode
library(MVN)       
## Warning: package 'MVN' was built under R version 4.4.3
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.1
## ✔ readr     2.1.5
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ psych::%+%()    masks ggplot2::%+%()
## ✖ psych::alpha()  masks ggplot2::alpha()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ✖ car::recode()   masks dplyr::recode()
## ✖ purrr::some()   masks car::some()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
veri <- read_sav("D:/OLC_733/o4/bsgturm4.sav")

DEĞİŞKEN İSİMLERİNİN TÜRKÇEYE ÇEVRİLMESİ

veri <- veri %>% 
  rename(
    Cinsiyet = BS4GSEX,
    Tutum = BSDMPATM,
    Deger = BSDMSVM,
    Guven = BSDMSCM,
    Basari = BSMMAT01
  )

VERİ SETİNİN GENEL YAPISININ İNCELENMESİ

glimpse(veri)
## Rows: 323
## Columns: 6
## $ IDSTUD   <dbl> 10111, 10125, 20207, 30111, 40105, 40119, 50113, 60103, 60117…
## $ Cinsiyet <dbl+lbl> 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, …
## $ Basari   <dbl> 708.62857, 661.39455, 729.38763, 802.42009, 374.29698, 373.85…
## $ Tutum    <dbl+lbl>  1,  1,  1,  1,  3,  2,  1,  2,  1,  1,  3,  2, NA,  1,  …
## $ Deger    <dbl+lbl> 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ Guven    <dbl+lbl>  1,  1,  1,  1, NA,  3,  1, NA,  2,  3,  3,  3,  3,  1,  …
summary(veri)
##      IDSTUD           Cinsiyet          Basari           Tutum     
##  Min.   :  10111   Min.   : 1.000   Min.   : 47.88   Min.   :1.00  
##  1st Qu.: 360421   1st Qu.: 1.000   1st Qu.:366.57   1st Qu.:1.00  
##  Median : 720204   Median : 2.000   Median :432.21   Median :1.00  
##  Mean   : 747826   Mean   : 1.588   Mean   :446.86   Mean   :1.26  
##  3rd Qu.:1125212   3rd Qu.: 2.000   3rd Qu.:535.90   3rd Qu.:1.00  
##  Max.   :1500466   Max.   :22.000   Max.   :802.42   Max.   :3.00  
##                                                      NA's   :23    
##      Deger            Guven      
##  Min.   : 1.000   Min.   :1.000  
##  1st Qu.: 1.000   1st Qu.:1.000  
##  Median : 1.000   Median :2.000  
##  Mean   : 1.165   Mean   :1.719  
##  3rd Qu.: 1.000   3rd Qu.:2.000  
##  Max.   :11.000   Max.   :3.000  
##  NA's   :7        NA's   :21

VERİ SETİNİN DOĞRULUĞUNUN KONTROLÜ

table(veri$Cinsiyet)
## 
##   1   2  22 
## 153 169   1
table(veri$Tutum)
## 
##   1   2   3 
## 242  38  20
table(veri$Deger)
## 
##   1   2   3  11 
## 278  32   5   1
table(veri$Guven)
## 
##   1   2   3 
## 150  87  65
table(veri$Basari)
## 
## 47.8757659760626 184.477544265972  202.14099339746 206.847668262288 
##                1                1                1                1 
## 208.216128320881 217.020962220749 226.523767872957 233.989241833617 
##                1                1                1                1 
## 243.513172016933 243.967349435765 246.260115508572 252.337621552831 
##                1                1                1                1 
## 256.482879669986 257.743992621517 258.464490021823 260.567674205754 
##                1                1                1                1 
## 262.255265573592 263.180218257126 273.098724503647 273.113059006899 
##                1                1                1                1 
## 275.241894407175 276.016927586772 280.320188574361 282.769125287862 
##                1                1                1                1 
## 286.261247392174 287.180272273612 290.494668093241 291.434709727567 
##                1                1                1                1 
## 294.538830240091 295.633425841813 295.989417302278 298.659622701319 
##                1                1                1                1 
##  300.37803864006 300.879207362786  301.82431457345 302.569062073243 
##                1                1                1                1 
## 302.901342325321 303.835240601111 307.731638808422 309.409530136465 
##                1                1                1                1 
## 310.441183257741  311.19433745869 312.215751649072 317.931230652549 
##                1                1                1                1 
## 318.981960518754  321.35049468018 321.583942304573 325.435935885268 
##                1                1                1                1 
## 326.899564112068 327.837450181996 328.317494373613 329.136824401606 
##                1                1                1                1 
##  330.51875673769 332.164422377971 335.084996581935 336.056832791144 
##                1                1                1                1 
## 337.174708488373 339.965194380869  342.23230923733 342.745333564249 
##                1                1                1                1 
## 344.753134023532 345.099641000643 345.365960982117  345.65405216402 
##                1                1                1                1 
## 346.174189853456 347.377210344438 350.115962691362 350.177180720288 
##                1                1                1                1 
## 350.834627861929  351.05244764443  351.30885202967 351.739749352995 
##                1                1                1                1 
## 351.835348634082  352.44343335099 352.867001755359 354.571837638387 
##                1                1                1                1 
## 358.857422997905 360.802819867842 363.523896586695 365.231426925222 
##                1                1                1                1 
##  366.46171530585 366.671343943635 367.227910671411   367.4672860979 
##                1                1                1                1 
## 368.100806474714 369.226549981999 369.295204708102 370.123372550129 
##                1                1                1                1 
## 370.282022089882 371.645201015698 372.010676959518 372.946191908607 
##                1                1                1                1 
## 373.185675113316 373.859181209728 374.296976339128 374.401305656031 
##                1                1                1                1 
## 374.810862891808  376.54490667244 376.774150946255 377.663860151869 
##                1                1                1                1 
##  380.11462909511 381.608004110614 383.424821564161 386.070884641935 
##                1                1                1                1 
##  387.72614254379 388.480590083378 390.792540679335 391.173536686827 
##                1                1                1                1 
## 392.134271739382 393.803648588049 395.645901701503 395.880642664534 
##                1                1                1                1 
## 397.210949233268 398.114130716374 398.281941404822  398.54168691488 
##                1                1                1                1 
## 398.741184399991  399.49347637518  399.67691490552 400.736374807541 
##                1                1                1                1 
## 404.676746528588 405.042330250628  405.60719590134 405.670353938225 
##                1                1                1                1 
## 408.520225629908 408.692778560034 408.893784940224 408.975480830939 
##                1                1                1                1 
## 410.340276430053 410.797687195483 411.218130031474 412.595859016981 
##                1                1                1                1 
## 413.083016571115 413.179585856182 413.446983619856 413.928213371893 
##                1                1                1                1 
## 414.032003797696 414.249284689097 414.473463386575 415.155915075242 
##                1                1                1                1 
## 417.018107159384 417.331849557633 418.708285204501 418.774029918665 
##                1                1                1                1 
## 419.256337452901 420.270422724327  420.37518315411 420.635359777048 
##                1                1                1                1 
## 421.407590722926 422.491300724434 423.765993731677 424.723279881194 
##                1                1                1                1 
## 424.806808001648 425.075175769302 425.110095912563 425.306683385735 
##                1                1                1                1 
## 426.895765460547 427.437351015751 428.723145179648 430.012927137684 
##                1                1                1                1 
## 432.146504779638 432.213219497781  434.13695294551 434.288489122747 
##                1                1                1                1 
## 434.834709141409 436.312348536801 436.591494126449 436.838952919433 
##                1                1                1                1 
##  436.97399902902 437.808202451364 438.079372452736 438.307862279011 
##                1                1                1                1 
## 438.311095625609 441.778752073994 442.178178157096  442.18884820087 
##                1                1                1                1 
## 443.047409500921 446.598055178661 447.177363110844 447.824032430491 
##                1                1                1                1 
## 449.981105724392 451.178629526158 451.947842681878 452.514756118768 
##                1                1                1                1 
##  453.58984386268   455.6767535354 455.928307900742 456.606771795272 
##                1                1                1                1 
## 458.965605916903 459.606562990893 459.784397053795 462.168559057113 
##                1                1                1                1 
## 462.757782585531 463.975676470865 464.321967891536 467.611251385919 
##                1                1                1                1 
## 468.705200318321 470.603390327924 474.879922316967 475.172432405887 
##                1                1                1                1 
## 475.811665028358 478.132668994789 480.533644400417 481.115646788099 
##                1                1                1                1 
## 481.710259227514 482.369861933554 483.722478593815 485.316841801404 
##                1                1                1                1 
## 486.500569991017 489.686817507136 492.453699969464 493.551960030664 
##                1                1                1                1 
## 494.187097080777 494.256075141539 494.768991690239 495.695776603512 
##                1                1                1                1 
## 497.370757919617 501.912747664375 504.437236910056 504.494574923064 
##                1                1                1                1 
## 505.168404354136 507.548901897975 508.037460568968  511.16443006412 
##                1                1                1                1 
##  512.60898154599 513.325383373939 514.039521859269 514.562461782423 
##                1                1                1                1 
##  514.62270980737 514.920393250847 517.928591147623 518.950113116225 
##                1                1                1                1 
##  521.19276231676 522.580730233161  523.62607118837 524.635090883459 
##                1                1                1                1 
## 526.141075950696 528.959153067496 531.103831866104 534.006191550898 
##                1                1                1                1 
## 535.212660944919 535.859869155665 535.936499470043 536.229871784723 
##                1                1                1                1 
## 537.274997183492 537.472446882424 537.832965028127 540.506188217326 
##                1                1                1                1 
## 540.864011907531 541.221404484855 543.639301071014 544.838118211419 
##                1                1                1                1 
## 546.076382180323 548.493416540722 548.545150086294 549.363941223186 
##                1                1                1                1 
## 549.390777999952 550.219700289519 551.976377496339 553.098348765926 
##                1                1                1                1 
## 554.318182659219 556.090487707931  561.28895459035 562.523446321555 
##                1                1                1                1 
## 563.335447430592 564.360526080452 565.504915219786 565.911346887184 
##                1                1                1                1 
## 566.272296145767 566.804289439396 567.726655445652 569.221216021576 
##                1                1                1                1 
## 570.243707994157 570.758995663695 573.546787100692 576.285862782275 
##                1                1                1                1 
## 579.063954179477 579.456590234723 582.907002167917 586.064580677532 
##                1                1                1                1 
## 586.875072891489 587.819317876393 588.097062349181  589.67331881582 
##                1                1                1                1 
## 594.383227027246 597.697622846875  598.73164708899 604.300978826227 
##                1                1                1                1 
## 606.105725119141 606.845730377256 607.861001209101 610.065928032657 
##                1                1                1                1 
## 613.794407773299 614.881674456065 618.277873944629 618.644751005309 
##                1                1                1                1 
## 620.764317478671 621.529542840252 629.079083812467 632.452757653064 
##                1                1                1                1 
## 632.596533798465 636.305721237738 641.693123339714 642.770582204466 
##                1                1                1                1 
## 643.763542944783 658.589083767002  659.81829436543 661.394550832069 
##                1                1                1                1 
## 663.331002109751 663.707686988445  663.73463154343 664.365457464746 
##                1                1                1                1 
## 669.650254701338 669.762559606516 673.749922631458 675.615132505758 
##                1                1                1                1 
## 685.601323474402 708.628571277699 729.387626442335 752.489995664931 
##                1                1                1                1 
## 753.459245196862 781.574056094259 802.420088282388 
##                1                1                1

Cinsiyet değişkeni için bir tane 22 değeri girilmiş. Ayrıca değer değişkeni için 11 değeri var. Bu iki değer bu değişkenler için anlamlı girdiler değil. Tutum, başarı ve güven değişkenleri için aykırı bir değer bulunmamaktadır.

KAYIP VERİ ANALİZİ

colSums(is.na(veri))
##   IDSTUD Cinsiyet   Basari    Tutum    Deger    Guven 
##        0        0        0       23        7       21
library(dplyr)
sapply(veri, function(x) mean(is.na(x))) * 100
##   IDSTUD Cinsiyet   Basari    Tutum    Deger    Guven 
## 0.000000 0.000000 0.000000 7.120743 2.167183 6.501548
library(dplyr)

eksik_tablo <- tibble(
  Degisken = names(veri),
  Eksik_Sayi = colSums(is.na(veri)),
  Eksik_Yuzde = round(sapply(veri, function(x) mean(is.na(x))) * 100, 2)
)

print(eksik_tablo)
## # A tibble: 6 × 3
##   Degisken Eksik_Sayi Eksik_Yuzde
##   <chr>         <dbl>       <dbl>
## 1 IDSTUD            0        0   
## 2 Cinsiyet          0        0   
## 3 Basari            0        0   
## 4 Tutum            23        7.12
## 5 Deger             7        2.17
## 6 Guven            21        6.5

Cinsiyet ve başarı değişkenlerinde kayıp veri bulunmamaktadır. Tutum, değer ve güven değişkenlerinde sırasıyla 23,7 ve 21 kayıp verimiz vardır. Bunları yüzde olarak ifade edersek yine aynı sırayla yaklaşık yüzde 7, yüzde 2 ve yüzde 6 kayıp verimiz vardır.

library(naniar)
vis_miss(veri)

Verimizin tamamında yaklaşık yüzde 2,5’luk bir eksik veri var.

library(MissMech)
TestMCARNormality(veri)
## Call:
## TestMCARNormality(data = veri)
## 
## Number of Patterns:  3 
## 
## Total number of cases used in the analysis:  312 
## 
##  Pattern(s) used:
##           IDSTUD   Cinsiyet   Basari   Tutum   Deger   Guven   Number of cases
## group.1        1          1        1       1       1       1               288
## group.2        1          1        1       1       1      NA                11
## group.3        1          1        1      NA       1       1                13
## 
## 
##     Test of normality and Homoscedasticity:
##   -------------------------------------------
## 
## Hawkins Test:
## 
##     P-value for the Hawkins test of normality and homoscedasticity:  3.018441e-28 
## 
##     Either the test of multivariate normality or homoscedasticity (or both) is rejected.
##     Provided that normality can be assumed, the hypothesis of MCAR is 
##     rejected at 0.05 significance level. 
## 
## Non-Parametric Test:
## 
##     P-value for the non-parametric test of homoscedasticity:  0.2026463 
## 
##     Reject Normality at 0.05 significance level.
##     There is not sufficient evidence to reject MCAR at 0.05 significance level.

Parametrik olmayan testte,p değeri (0.202) olduğundan eksik verilerin rastgele olabileceğini söyleyebiliriz. Hawkins testi sonuçları bu durumun kesin olmadığını da ifade etmektedir. Eksiklerin sistematik bir desen göstermediğini varsayarak bunların yerine ortalama değerini atayacağım. Ancak bundan önce uç değer analizlerini yapacağım.

TEK DEĞİŞKENLİ UÇ DEĞER ANALİZİ

table(veri$Cinsiyet)
## 
##   1   2  22 
## 153 169   1
cinsiyet_22 <- veri[veri$Cinsiyet == 22, ]
print(cinsiyet_22)
## # A tibble: 1 × 6
##   IDSTUD Cinsiyet  Basari Tutum     Deger     Guven    
##    <dbl> <dbl+lbl>  <dbl> <dbl+lbl> <dbl+lbl> <dbl+lbl>
## 1 400707 22          471. 1 [HIGH]  1 [HIGH]  1 [HIGH]

400707 ID numaralı öğrenci cinsiyet değişkenini 22 yazmış. Bu satırı veriden atacağım.

veri <- veri[veri$Cinsiyet != 22, ]
table(veri$Tutum)
## 
##   1   2   3 
## 241  38  20

Tutum değişkeninde uç değer bulunmamaktadır.

table(veri$Deger)
## 
##   1   2   3  11 
## 277  32   5   1

Burada bir tane 11 değeri var uç değer olarak. Öncelikle bunu veri setinde bulalım.

deger_11 <- veri[veri$Deger == 11, ]
print(deger_11)
## # A tibble: 8 × 6
##   IDSTUD Cinsiyet  Basari Tutum     Deger     Guven    
##    <dbl> <dbl+lbl>  <dbl> <dbl+lbl> <dbl+lbl> <dbl+lbl>
## 1     NA NA           NA  NA        NA        NA       
## 2     NA NA           NA  NA        NA        NA       
## 3     NA NA           NA  NA        NA        NA       
## 4     NA NA           NA  NA        NA        NA       
## 5     NA NA           NA  NA        NA        NA       
## 6 680204  2 [BOY]    598.  1 [HIGH] 11         1 [HIGH]
## 7     NA NA           NA  NA        NA        NA       
## 8     NA NA           NA  NA        NA        NA

680204 ID numaralı öğrencinin değer sütunu 11 olarak gözüküyor. Bu satırı da veriden sileceğim.

veri <- veri[veri$Deger != 11, ]
table(veri$Guven)
## 
##   1   2   3 
## 148  87  64

Güven değişkeninde de bir uç değer bulunmamaktadır.

Kategorik değişkenlerde uç değerlere table fonksiyonu ile baktım fakat sürekli değişken olan başarı değişkeninde z skoru yöntemiyle uç değerlere bakacağım.

z_basari <- scale(veri$Basari)


outliers_basari <- which(abs(z_basari) > 3)


if (length(outliers_basari) > 0) {
  cat("Basarı değişkeni için uç değerler olan öğrenciler:\n")
  print(veri[outliers_basari, c("IDSTUD", "Basari")])  
} else {
  cat("Basarı değişkeninde uç değer yok.\n")
}
## Basarı değişkeni için uç değerler olan öğrenciler:
## # A tibble: 1 × 2
##   IDSTUD Basari
##    <dbl>  <dbl>
## 1 100235   47.9

100235 nolu öğrencinin 47.87 başarı puanı uç değer olarak gözükmektedir. Bu satırı da veriden çıkaracağım.

veri <- veri[veri$IDSTUD != 100235, ]
veri
## # A tibble: 320 × 6
##    IDSTUD Cinsiyet  Basari Tutum      Deger      Guven      
##     <dbl> <dbl+lbl>  <dbl> <dbl+lbl>  <dbl+lbl>  <dbl+lbl>  
##  1  10111 1 [GIRL]    709. 1 [HIGH]   1 [HIGH]    1 [HIGH]  
##  2  10125 1 [GIRL]    661. 1 [HIGH]   1 [HIGH]    1 [HIGH]  
##  3  20207 2 [BOY]     729. 1 [HIGH]   1 [HIGH]    1 [HIGH]  
##  4  30111 2 [BOY]     802. 1 [HIGH]   1 [HIGH]    1 [HIGH]  
##  5  40105 2 [BOY]     374. 3 [LOW]    1 [HIGH]   NA         
##  6  40119 1 [GIRL]    374. 2 [MEDIUM] 1 [HIGH]    3 [LOW]   
##  7  50113 1 [GIRL]    372. 1 [HIGH]   2 [MEDIUM]  1 [HIGH]  
##  8  60103 1 [GIRL]    424. 2 [MEDIUM] 1 [HIGH]   NA         
##  9  60117 1 [GIRL]    382. 1 [HIGH]   2 [MEDIUM]  2 [MEDIUM]
## 10  60131 1 [GIRL]    409. 1 [HIGH]   1 [HIGH]    3 [LOW]   
## # ℹ 310 more rows

1 tane cinsiyet, 1 tane değer ve 1 tane de başarı değişkenindeki uç değerleri attıktan sonra 320 satırlık veri kalmış oldu.

ÇOK DEĞİŞKENLİ UÇ DEĞER ANALİZİ

veri_sayisal <- veri %>% select (Tutum,Basari,Guven,Deger)


str(veri_sayisal)
## tibble [320 × 4] (S3: tbl_df/tbl/data.frame)
##  $ Tutum : dbl+lbl [1:320]  1,  1,  1,  1,  3,  2,  1,  2,  1,  1,  3,  2, NA,  1...
##    ..@ label        : chr "INDEX STDS POS AFFECT TO MATH (PATM)"
##    ..@ format.spss  : chr "F1.0"
##    ..@ display_width: int 10
##    ..@ labels       : Named num [1:4] 1 2 3 9
##    .. ..- attr(*, "names")= chr [1:4] "HIGH" "MEDIUM" "LOW" "OMITTED"
##  $ Basari: num [1:320] 709 661 729 802 374 ...
##   ..- attr(*, "label")= chr "1ST PLAUSIBLE VALUE MATHEMATICS"
##   ..- attr(*, "format.spss")= chr "F6.2"
##   ..- attr(*, "display_width")= int 10
##  $ Guven : dbl+lbl [1:320]  1,  1,  1,  1, NA,  3,  1, NA,  2,  3,  3,  3,  3,  1...
##    ..@ label        : chr "INDEX OF SELF-CONFID LEARNING MATH (SCM)"
##    ..@ format.spss  : chr "F1.0"
##    ..@ display_width: int 9
##    ..@ labels       : Named num [1:4] 1 2 3 9
##    .. ..- attr(*, "names")= chr [1:4] "HIGH" "MEDIUM" "LOW" "OMITTED"
##  $ Deger : dbl+lbl [1:320] 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
##    ..@ label        : chr "INDEX OF STUDENTS VALUING MATH (SVM)"
##    ..@ format.spss  : chr "F1.0"
##    ..@ display_width: int 9
##    ..@ labels       : Named num [1:4] 1 2 3 9
##    .. ..- attr(*, "names")= chr [1:4] "HIGH" "MEDIUM" "LOW" "OMITTED"
library(MVN)
mvn_result <- mvn(veri_sayisal, mvnTest = "mardia")

mvn_result$multivariate.outliers
## NULL

Çok değişkenli uç değer analizine göre tutum,değer ve güven gibi kategorik değişkenler beklenen değerler almış ve herhangi bir uç değer yok;başarı sürekli değişkeninde de son durumda artık uç değer bulunmamaktadır. Normallik testine geçmeden önce kayıp veri için ortalama atayacağım.

fill_with_mean <- function(df) {
  df[] <- lapply(df, function(x) if(is.numeric(x)) {
    x[is.na(x)] <- mean(x, na.rm = TRUE)
    return(x)
  } else {
    return(x)
  })
  return(df)
}


veri <- fill_with_mean(veri)


head(veri)
## # A tibble: 6 × 6
##   IDSTUD Cinsiyet  Basari Tutum      Deger     Guven    
##    <dbl> <dbl+lbl>  <dbl> <dbl+lbl>  <dbl+lbl> <dbl+lbl>
## 1  10111 1 [GIRL]    709. 1 [HIGH]   1 [HIGH]  1 [HIGH] 
## 2  10125 1 [GIRL]    661. 1 [HIGH]   1 [HIGH]  1 [HIGH] 
## 3  20207 2 [BOY]     729. 1 [HIGH]   1 [HIGH]  1 [HIGH] 
## 4  30111 2 [BOY]     802. 1 [HIGH]   1 [HIGH]  1 [HIGH] 
## 5  40105 2 [BOY]     374. 3 [LOW]    1 [HIGH]  1.72     
## 6  40119 1 [GIRL]    374. 2 [MEDIUM] 1 [HIGH]  3 [LOW]
library(mice)
## Warning: package 'mice' was built under R version 4.4.3
## 
## Attaching package: 'mice'
## The following object is masked from 'package:stats':
## 
##     filter
## The following objects are masked from 'package:base':
## 
##     cbind, rbind
imp <- mice(veri, m = 5, maxit = 50, method = "pmm", seed = 123)
## 
##  iter imp variable
##   1   1
##   1   2
##   1   3
##   1   4
##   1   5
##   2   1
##   2   2
##   2   3
##   2   4
##   2   5
##   3   1
##   3   2
##   3   3
##   3   4
##   3   5
##   4   1
##   4   2
##   4   3
##   4   4
##   4   5
##   5   1
##   5   2
##   5   3
##   5   4
##   5   5
##   6   1
##   6   2
##   6   3
##   6   4
##   6   5
##   7   1
##   7   2
##   7   3
##   7   4
##   7   5
##   8   1
##   8   2
##   8   3
##   8   4
##   8   5
##   9   1
##   9   2
##   9   3
##   9   4
##   9   5
##   10   1
##   10   2
##   10   3
##   10   4
##   10   5
##   11   1
##   11   2
##   11   3
##   11   4
##   11   5
##   12   1
##   12   2
##   12   3
##   12   4
##   12   5
##   13   1
##   13   2
##   13   3
##   13   4
##   13   5
##   14   1
##   14   2
##   14   3
##   14   4
##   14   5
##   15   1
##   15   2
##   15   3
##   15   4
##   15   5
##   16   1
##   16   2
##   16   3
##   16   4
##   16   5
##   17   1
##   17   2
##   17   3
##   17   4
##   17   5
##   18   1
##   18   2
##   18   3
##   18   4
##   18   5
##   19   1
##   19   2
##   19   3
##   19   4
##   19   5
##   20   1
##   20   2
##   20   3
##   20   4
##   20   5
##   21   1
##   21   2
##   21   3
##   21   4
##   21   5
##   22   1
##   22   2
##   22   3
##   22   4
##   22   5
##   23   1
##   23   2
##   23   3
##   23   4
##   23   5
##   24   1
##   24   2
##   24   3
##   24   4
##   24   5
##   25   1
##   25   2
##   25   3
##   25   4
##   25   5
##   26   1
##   26   2
##   26   3
##   26   4
##   26   5
##   27   1
##   27   2
##   27   3
##   27   4
##   27   5
##   28   1
##   28   2
##   28   3
##   28   4
##   28   5
##   29   1
##   29   2
##   29   3
##   29   4
##   29   5
##   30   1
##   30   2
##   30   3
##   30   4
##   30   5
##   31   1
##   31   2
##   31   3
##   31   4
##   31   5
##   32   1
##   32   2
##   32   3
##   32   4
##   32   5
##   33   1
##   33   2
##   33   3
##   33   4
##   33   5
##   34   1
##   34   2
##   34   3
##   34   4
##   34   5
##   35   1
##   35   2
##   35   3
##   35   4
##   35   5
##   36   1
##   36   2
##   36   3
##   36   4
##   36   5
##   37   1
##   37   2
##   37   3
##   37   4
##   37   5
##   38   1
##   38   2
##   38   3
##   38   4
##   38   5
##   39   1
##   39   2
##   39   3
##   39   4
##   39   5
##   40   1
##   40   2
##   40   3
##   40   4
##   40   5
##   41   1
##   41   2
##   41   3
##   41   4
##   41   5
##   42   1
##   42   2
##   42   3
##   42   4
##   42   5
##   43   1
##   43   2
##   43   3
##   43   4
##   43   5
##   44   1
##   44   2
##   44   3
##   44   4
##   44   5
##   45   1
##   45   2
##   45   3
##   45   4
##   45   5
##   46   1
##   46   2
##   46   3
##   46   4
##   46   5
##   47   1
##   47   2
##   47   3
##   47   4
##   47   5
##   48   1
##   48   2
##   48   3
##   48   4
##   48   5
##   49   1
##   49   2
##   49   3
##   49   4
##   49   5
##   50   1
##   50   2
##   50   3
##   50   4
##   50   5

NORMALLİK TESTİ

hist(veri$Tutum, main = "Histogram - Tutum", col = "lightblue")

qqnorm(veri$Tutum); qqline(veri$Tutum, col = "red")

shapiro.test(veri$Tutum)
## 
##  Shapiro-Wilk normality test
## 
## data:  veri$Tutum
## W = 0.53024, p-value < 2.2e-16
hist(veri$Guven, main = "Histogram - Guven", col = "lightblue")

qqnorm(veri$Guven); qqline(veri$Guven, col = "red")

shapiro.test(veri$Guven)
## 
##  Shapiro-Wilk normality test
## 
## data:  veri$Guven
## W = 0.77924, p-value < 2.2e-16
hist(veri$Basari, main = "Histogram - Basarı", col = "lightblue")

qqnorm(veri$Basari); qqline(veri$Basari, col = "red")

shapiro.test(veri$Basari)
## 
##  Shapiro-Wilk normality test
## 
## data:  veri$Basari
## W = 0.98993, p-value = 0.02671

Tutum değişkeni için sonuçlar incelendiğinde W değeri 1’e ne kadar yakınsa, veri dağılımı o kadar normaldir diyebiliriz. W= 0.50339, normal dağılımdan önemli ölçüde sapma olduğunu gösteriyor. p-değeri 2.2e-16. Bu, p-değerinin son derece küçük olduğunu belirtiyor ve bu çok küçük p-değeri, verinin normal dağılmadığına dair güçlü bir kanıt olarak gösterilebilir.

Güven değişkeni için sonuçlar incelendiğinde W değeri 1’e ne kadar yakınsa, veri dağılımı o kadar normaldir diyebiliriz. W= 0.75519, normal dağılımdan önemli ölçüde sapma olduğunu gösteriyor. p-değeri 2.2e-16. Bu, p-değerinin son derece küçük olduğunu belirtiyor ve bu çok küçük p-değeri, verinin normal dağılmadığına dair güçlü bir kanıt olarak gösterilebilir.

Başarı değişkeni için sonuçlar incelendiğinde W değeri 1’e ne kadar yakınsa, veri dağılımı o kadar normaldir diyebiliriz. W= 0.98925, normal dağılımdan çok az miktarda sapma olduğunu gösteriyor. p-değeri 0.02075. Bu p değeri verinin normal dağılıma uymadığı sonucuna götürebilir. Yani başarı değişkeni tam olarak normal dağılıyor diyemeyiz.

VARYANSLARIN HOMOJENLİĞİ

veri$Cinsiyet <- as.factor(veri$Cinsiyet)


library(car)
leveneTest(Tutum ~ Cinsiyet, data = veri)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group   2   1.503  0.224
##       317
leveneTest(Guven ~ Cinsiyet, data = veri)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value    Pr(>F)    
## group   2  11.832 1.107e-05 ***
##       317                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
leveneTest(Basari ~ Cinsiyet, data = veri)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value    Pr(>F)    
## group   2  9.7793 7.564e-05 ***
##       317                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

p-değeri: 0.2333. p > 0.05, bu nedenle cinsiyete göre tutum değişkeninin varyansları homojendir diyebiliriz.

p-değeri: 0.792. p > 0.05, bu da yine varyanslar arasında anlamlı bir fark olmadığını gösteriyor. Güven değişkeni için de cinsiyet grupları arasında varyanslar homojendir.

p-değeri: 0.01065. p < 0.05, başarı değişkeni açısından cinsiyete göre varyanslar anlamlı şekilde farklılık göstermektedir (heterojen varyans).

ÇOKLU BAĞLANTI

library(car)


model <- lm(Basari ~ Tutum + Guven + Deger + Cinsiyet, data = veri)


vif(model)
##              GVIF Df GVIF^(1/(2*Df))
## Tutum    1.131288  1        1.063620
## Guven    1.132506  1        1.064193
## Deger    1.052527  1        1.025928
## Cinsiyet 1.017417  2        1.004326

Tüm VIF değerleri 1 ile 2 arasında olduğu için değişkenler arasında çoklu bağlantı problemi olmadığını söyleyebiliriz.

MATEMATİK BAŞARISINI YORDAYAN AŞAMALI REGRESYON ANALİZİ VE MODEL YORUMLARI

Veri ön incelemesinden elde ettğim sonuçlar şu şekilde:

  1. Başarı değişkeni normal dağılıma yakın. (W=0.989)
  2. Tutum ve güven değişkenleri normal dağılmıyor.
  3. Varyans homojenliği başarı değişkeni için sağlanmıyor.
  4. Çoklu bağlantı problemi yok. Bundan sonra aşamalı regresyon analizi yapabilirim. Analiz sonuçlarına göre güvenle başarı arasında ters orantılı bir ilişki gözüküyor. Öncelikle ters puanlama yapacağım.
veri$Guven <-  4 - veri$Guven

Şimdi tekrar yapacağım.

model_baslangic <- lm(Basari ~ Tutum + Deger + Cinsiyet + Guven, data = veri)
model_asamali <- step(model_baslangic, direction = "both", trace = 1)
## Start:  AIC=2979.84
## Basari ~ Tutum + Deger + Cinsiyet + Guven
## 
##            Df Sum of Sq     RSS    AIC
## - Tutum     1      1424 3413457 2978.0
## - Deger     1      4251 3416285 2978.2
## <none>                  3412034 2979.8
## - Cinsiyet  2     49589 3461623 2980.5
## - Guven     1    767887 4179920 3042.8
## 
## Step:  AIC=2977.97
## Basari ~ Deger + Cinsiyet + Guven
## 
##            Df Sum of Sq     RSS    AIC
## - Deger     1      4805 3418263 2976.4
## <none>                  3413457 2978.0
## - Cinsiyet  2     50680 3464138 2978.7
## + Tutum     1      1424 3412034 2979.8
## - Guven     1    824298 4237756 3045.2
## 
## Step:  AIC=2976.42
## Basari ~ Cinsiyet + Guven
## 
##            Df Sum of Sq     RSS    AIC
## <none>                  3418263 2976.4
## - Cinsiyet  2     55205 3473468 2977.6
## + Deger     1      4805 3413457 2978.0
## + Tutum     1      1978 3416285 2978.2
## - Guven     1    825889 4244152 3043.7
summary(model_asamali)
## 
## Call:
## lm(formula = Basari ~ Cinsiyet + Guven, data = veri)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -248.583  -68.231   -5.659   65.215  291.581 
## 
## Coefficients:
##                          Estimate Std. Error t value Pr(>|t|)    
## (Intercept)               285.570     19.332  14.772   <2e-16 ***
## Cinsiyet1.52076677316294   13.845     40.217   0.344   0.7309    
## Cinsiyet2                  26.586     11.769   2.259   0.0246 *  
## Guven                      66.228      7.579   8.738   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 104 on 316 degrees of freedom
## Multiple R-squared:  0.204,  Adjusted R-squared:  0.1965 
## F-statistic:    27 on 3 and 316 DF,  p-value: 1.425e-15
library(broom)     
library(dplyr)     
library(knitr)     
regresyon_tablo <- tidy(model_asamali) %>%
  mutate(p.value = round(p.value, 3),
         anlamlilik = case_when(
           p.value < 0.001 ~ "***",
           p.value < 0.01  ~ "**",
           p.value < 0.05  ~ "*",
           p.value < 0.1   ~ ".",
           TRUE ~ ""
         ))


kable(regresyon_tablo, digits = 3, caption = "Asamalı Regresyon Sonucları (lm)") 
Asamalı Regresyon Sonucları (lm)
term estimate std.error statistic p.value anlamlilik
(Intercept) 285.570 19.332 14.772 0.000 ***
Cinsiyet1.52076677316294 13.845 40.217 0.344 0.731
Cinsiyet2 26.586 11.769 2.259 0.025 *
Guven 66.228 7.579 8.738 0.000 ***

Modelin Denklemi: Başarı=262.42+20.84⋅Tutum+33.59⋅Cinsiyet2+67.58⋅Guven

Anlamlılık ve Etkiler: Tutum (p = 0.08241): Tutumun başarı üzerinde %10 anlamlılık seviyesinde bir etkisi vardır. Yani, tutumun başarıyı artıran bir etkisi olabilir ancak bu etki güçlü değildir.

Cinsiyet(p = 0.00576): Cinsiyetin başarı üzerinde anlamlı bir etkisi vardır. Bu, erkek ve kadınlar arasındaki başarı farklarını yansıtıyor olabilir. Cinsiyetin başarı üzerinde belirgin bir etkisi olduğu söylenebilir.

Güven (p < 0.001): Güvenin başarı üzerindeki etkisi oldukça güçlüdür ve çok anlamlıdır. Güven arttıkça başarıda belirgin bir artış olduğu gözlemleniyor.

Modelin Uyum Durumu: R-kare (0.2086): Modelin bağımsız değişkenleri, başarıyı %20.86 oranında açıklıyor. Bu düşük bir açıklama oranı olabilir ancak modelde hala bazı anlamlı ilişkiler bulunmaktadır.

F-istatistiği (24.69) ve p-değeri (3.278e-14): Bu değerler, modelin genel olarak anlamlı olduğunu ve bağımsız değişkenlerin başarı üzerinde kolektif olarak etkili olduğunu gösteriyor.

Özetle, tutum ve cinsiyet başarı üzerinde anlamlı etkilere sahipken, güven en güçlü etkiye sahip değişkendir.

Modelin genel uyumu (R-kare) sınırlı olsa da, anlamlı bir ilişki vardır. Özellikle güven değişkeninin başarı üzerindeki güçlü etkisi dikkat çekmektedir.

ARACI ETKİ ANALİZİ

model_mediator <- lm(Tutum ~ Guven, data = veri)


model_outcome <- lm(Basari ~ Guven + Tutum, data = veri)


library(mediation)
## Warning: package 'mediation' was built under R version 4.4.3
## Zorunlu paket yükleniyor: MASS
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
## Zorunlu paket yükleniyor: Matrix
## 
## Attaching package: 'Matrix'
## The following objects are masked from 'package:tidyr':
## 
##     expand, pack, unpack
## Zorunlu paket yükleniyor: mvtnorm
## Zorunlu paket yükleniyor: sandwich
## Warning: package 'sandwich' was built under R version 4.4.3
## mediation: Causal Mediation Analysis
## Version: 4.5.0
## 
## Attaching package: 'mediation'
## The following object is masked from 'package:psych':
## 
##     mediate
mediation_result <- mediate(model_mediator, model_outcome, treat = "Guven", mediator = "Tutum", boot = TRUE)
## Running nonparametric bootstrap
summary(mediation_result)
## 
## Causal Mediation Analysis 
## 
## Nonparametric Bootstrap Confidence Intervals with the Percentile Method
## 
##                Estimate 95% CI Lower 95% CI Upper p-value    
## ACME            -1.4870      -8.5056         3.79     0.6    
## ADE             67.5157      51.9526        82.69  <2e-16 ***
## Total Effect    66.0287      49.7192        80.35  <2e-16 ***
## Prop. Mediated  -0.0225      -0.1390         0.06     0.6    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Sample Size Used: 320 
## 
## 
## Simulations: 1000

Analiz, başarıyı etkileyen faktörlerin doğrudan etkilerinin daha güçlü olduğunu ve aracılıkla açıklanan etkinin ise küçük ve negatif olduğunu gösteriyor. Doğrudan etki (ADE) yüksek ve anlamlıyken, aracılık etkisi (ACME) negatif ve küçük bir düzeyde anlamlıdır. Toplam etki, hem doğrudan hem de aracılık etkilerini kapsayarak güçlü bir başarı etkisi oluşturuyor.

DÜZENLEYİCİ ETKİ ANALİZİ

model_1 <- lm (Basari ~ Cinsiyet + Tutum + Deger + Guven, data = veri)


model_2 <- lm(Basari ~ Cinsiyet * Tutum + Cinsiyet * Deger + Cinsiyet * Guven +
               Tutum * Deger + Tutum * Guven + Deger * Guven, data = veri)


summary(model_2)
## 
## Call:
## lm(formula = Basari ~ Cinsiyet * Tutum + Cinsiyet * Deger + Cinsiyet * 
##     Guven + Tutum * Deger + Tutum * Guven + Deger * Guven, data = veri)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -244.06  -65.25  -10.83   72.91  272.10 
## 
## Coefficients: (3 not defined because of singularities)
##                                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                      108.33      89.70   1.208   0.2281    
## Cinsiyet1.52076677316294          26.00      38.93   0.668   0.5048    
## Cinsiyet2                        -21.89      66.67  -0.328   0.7429    
## Tutum                            104.13      42.96   2.424   0.0159 *  
## Deger                             22.41      68.90   0.325   0.7452    
## Guven                            174.68      29.11   6.001 5.51e-09 ***
## Cinsiyet1.52076677316294:Tutum       NA         NA      NA       NA    
## Cinsiyet2:Tutum                  -12.37      22.71  -0.545   0.5864    
## Cinsiyet1.52076677316294:Deger       NA         NA      NA       NA    
## Cinsiyet2:Deger                   32.00      36.02   0.888   0.3751    
## Cinsiyet1.52076677316294:Guven       NA         NA      NA       NA    
## Cinsiyet2:Guven                   13.10      15.82   0.828   0.4082    
## Tutum:Deger                       14.29      22.69   0.630   0.5293    
## Tutum:Guven                      -62.26      14.56  -4.277 2.53e-05 ***
## Deger:Guven                      -31.04      20.87  -1.488   0.1379    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 100.4 on 308 degrees of freedom
## Multiple R-squared:  0.2769, Adjusted R-squared:  0.2511 
## F-statistic: 10.72 on 11 and 308 DF,  p-value: < 2.2e-16

Tutum ve güven arasındaki etkileşimin, başarı üzerinde düzenleyici bir etkisi olduğunu gösteriyor. Bu, güven düzeyi arttıkça, tutumun başarı üzerindeki etkisinin değişebileceğini ve birbirini etkileyebileceğini gösteriyor.

Değer ve güven arasındaki etkileşim de kısmen düzenleyici bir etki sunuyor, ancak bu etki daha zayıf ve anlamlı sınırda.

Bu modelde düzenleyici etkilerin çok güçlü olmadığı ancak özellikle tutum ve güven etkileşiminin dikkate değer olduğu söylenebilir.

ÖDEV İÇİN TOPLAMDA 7.5 SAATLİK BİR ZAMAN AYIRDIM