a.

library(dplyr)
## 
## 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(knitr)
#Veri setini R ortamına aktarma 

 TRUSA <- readRDS("C:/Users/hamit/Downloads/TRUSA.RDS")

b.

#Veri setinde eksik veri olup olmadığını kontrol etme

sum(is.na(TRUSA))
## [1] 0
"Veri setinde eksik veri bulunmamaktadır. "
## [1] "Veri setinde eksik veri bulunmamaktadır. "

c.

#Toplam 35 madde adında yeni bir sütun oluşturma(Satırları toplayarak)

TRUSA <- TRUSA %>% mutate(toplam_35_madde = rowSums(select(., starts_with("M")), na.rm =TRUE))

d.

# Ülke bazında toplam puanların betimsel istatistikleri
betimsel_istatistikler_ulke <- TRUSA %>%
  group_by(CNT) %>%  
  summarise(
    Mean = mean(toplam_35_madde, na.rm = TRUE),
    Median = median(toplam_35_madde, na.rm = TRUE),
    SD = sd(toplam_35_madde, na.rm = TRUE),
    Min = min(toplam_35_madde, na.rm = TRUE),
    Max = max(toplam_35_madde, na.rm = TRUE),
    N = sum(!is.na(toplam_35_madde))  
  )


kable(betimsel_istatistikler_ulke, 
      caption = "Ülke Bazında Toplam Puanların Betimsel İstatistikleri", 
      format = "markdown")
Ülke Bazında Toplam Puanların Betimsel İstatistikleri
CNT Mean Median SD Min Max N
TUR 13.45287 11 7.570222 2 32 435
USA 17.04609 17 7.528545 1 34 716

e.

#t testiyle iki ülke puanlarının farklılığının anlamlılığını kontrol etme 

t.test(toplam_35_madde ~ CNT , data = TRUSA, var.equal = TRUE)
## 
##  Two Sample t-test
## 
## data:  toplam_35_madde by CNT
## t = -7.8348, df = 1149, p-value = 1.064e-14
## alternative hypothesis: true difference in means between group TUR and group USA is not equal to 0
## 95 percent confidence interval:
##  -4.493049 -2.693382
## sample estimates:
## mean in group TUR mean in group USA 
##          13.45287          17.04609
"iki ulkenın toplam puanında anlamlı bir fark vardır diyebiliriz. "
## [1] "iki ulkenın toplam puanında anlamlı bir fark vardır diyebiliriz. "

f.

library(missForest) 
library(naniar) 
# Karakter türündeki sütunları faktör türüne dönüştürme 

TRUSA  <- TRUSA %>% mutate(across(where(is.character), as.factor))
# Eksik veri üretme

TRUSA_5<- prodNA(TRUSA, noNA = 0.05)
TRUSA_10 <- prodNA(TRUSA, noNA = 0.10)
TRUSA_15 <- prodNA(TRUSA, noNA = 0.15)

g.

library(Amelia)
## Zorunlu paket yükleniyor: Rcpp
## ## 
## ## Amelia II: Multiple Imputation
## ## (Version 1.8.3, built: 2024-11-07)
## ## Copyright (C) 2005-2025 James Honaker, Gary King and Matthew Blackwell
## ## Refer to http://gking.harvard.edu/amelia/ for more information
## ##
# Eksik verilerin rastgele olup olmadığını kontrol etme

missmap(TRUSA_5)  

missmap(TRUSA_10) 

missmap(TRUSA_15) 

# Eksik verisi olan satırları temizleme

temiz_TRUSA_5 <- na.omit(TRUSA_5)
temiz_TRUSA_10 <- na.omit(TRUSA_10)
temiz_TRUSA_15<- na.omit(TRUSA_15)
# Eksik veriyle t testi 

t_test_5 <- t.test(toplam_35_madde~ CNT, data = temiz_TRUSA_5)
summary(t_test_5)
##             Length Class  Mode     
## statistic   1      -none- numeric  
## parameter   1      -none- numeric  
## p.value     1      -none- numeric  
## conf.int    2      -none- numeric  
## estimate    2      -none- numeric  
## null.value  1      -none- numeric  
## stderr      1      -none- numeric  
## alternative 1      -none- character
## method      1      -none- character
## data.name   1      -none- character
t_test_10 <- t.test(toplam_35_madde~ CNT, data = temiz_TRUSA_10)
summary(t_test_10)
##             Length Class  Mode     
## statistic   1      -none- numeric  
## parameter   1      -none- numeric  
## p.value     1      -none- numeric  
## conf.int    2      -none- numeric  
## estimate    2      -none- numeric  
## null.value  1      -none- numeric  
## stderr      1      -none- numeric  
## alternative 1      -none- character
## method      1      -none- character
## data.name   1      -none- character