library(CTT)
library(readxl)
library(haven)
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
  1. veri setini TUR, bilgi dosyasını ise bilgi adlı nesneler olmak üzere R ortamına aktarınız.
# Veri setini ve bilgi dosyasını okunması
TUR <- read_sav("BSATURM6.sav")      
bilgi <- read_excel("T15_G8_ItemInformation.xlsx") 

if (is.list(TUR) && "data" %in% names(TUR)) {
  TUR <- TUR$data
}

b.veri setinden “IDCNTRY”,“IDSTUD”,“IDBOOK” ve M0 ile başlayan değişkenleri seçiniz. M0 ile başlayan değişkenler maddelerdir.Bu işlem sonrasında 6079 gözlem ve 228 sütuna sahip olacaksınız.

# Gerekli sütunların seçilmesi
TUR <- TUR %>%
  select(IDCNTRY, IDSTUD, IDBOOK, starts_with("M0"))

c.M062345B, M062345BA, M062345BB, M062345BC, M062345BD, M062342, M062048, M062048A, M062048B, ve M062048C olmak üzere 10 madde Türkiye veriseinde uygulanmamıstır, bu değişkenleri veriseti nesnesinden siliniz.

# Silinecek madde isimleri
silinecek_maddeler <- c("M062345B", "M062345BA", "M062345BB", "M062345BC", 
                        "M062345BD", "M062342", "M062048", "M062048A", 
                        "M062048B", "M062048C")

# Veri setinden bu değişkenleri kaldırılması
TUR <- TUR %>%
  select(-all_of(silinecek_maddeler))
  1. Bilgi nesnesinden uygulanmayan 10 maddeye ilişkin satırları siliniz.Item ID sütunu madde isimlerini içermketedir.
# Bilgi nesnesinden de aynı maddelerin kaldırılması
bilgi <- bilgi %>%
  filter(!(`Item ID` %in% silinecek_maddeler))
  1. Bilgi nesnesinde Key sütunu “A”,“B”,“C”,“D” and “-” içermektedir.”A”,“B”,“C”,“D” çoktan seçmelimaddelerin doğru cevaplarıdır.”-” ise kısmi puanlanan madeleleri göstermektedir. Bunu Item Type sütununda da anlayabilirsiniz. Veri setinden madde cevaplarının 1,2,3,4,10 ve 20 şeklinde kodlanmıştır. 1-A,2-B,3-C,4-D seçeneğine karşılık gelir. Kısmı puanlanan maddeler ise bilgi nesnesin Maximum Points sütununa göre 1 10,2 ise 20 puan olacak şekilde kodlanmıştır.

Sizden beklenen maddeleri 1-0 da dönüştürmenizdir. Bu işlemi CTT paketini kullanarak yapabilirsiniz.

# Madde Türlerini Belirlenmesi
bilgi <- bilgi %>%
  mutate(ItemType = if_else(Key %in% c("A", "B", "C", "D"), "MC", "Partial"))

# Sözlüklerin Oluşturulması
answer_key <- setNames(bilgi$Key, bilgi$`Item ID`)
max_points <- setNames(bilgi$`Maximum Points`, bilgi$`Item ID`)

#Madde Cevaplarının 1-0 Dönüşümü
TUR <- TUR %>%
  mutate(across(starts_with("M0"), ~ {
    column_name <- cur_column()  # Mevcut sütunun adını al

    case_when(
      #Çoktan Seçmeli (MC) Maddeler
      column_name %in% names(answer_key) & answer_key[column_name] == "A" & . == 1 ~ 1,
      column_name %in% names(answer_key) & answer_key[column_name] == "B" & . == 2 ~ 1,
      column_name %in% names(answer_key) & answer_key[column_name] == "C" & . == 3 ~ 1,
      column_name %in% names(answer_key) & answer_key[column_name] == "D" & . == 4 ~ 1,

      # Kısmi Puanlanan (Partial) Maddeler
      column_name %in% names(max_points) & max_points[column_name] == 1 & . == 10 ~ 1,
      column_name %in% names(max_points) & max_points[column_name] == 2 & . == 20 ~ 1,

      # Yanlış veya Cevapsız
      TRUE ~ 0
    )
  }))

head(as.data.frame(TUR), 5)
##   IDCNTRY IDSTUD IDBOOK M042182 M042081 M042049 M042052 M042076 M042302A
## 1     792  10201      6       0       0       0       0       0        0
## 2     792  10202      7       0       0       0       0       0        0
## 3     792  10203      8       0       0       0       0       0        0
## 4     792  10204      9       0       0       0       0       0        0
## 5     792  10205     10       0       0       0       0       0        0
##   M042302B M042302C M042100 M042202 M042240 M042093 M042271 M042268 M042159
## 1        0        0       0       0       0       0       0       0       0
## 2        0        0       0       0       0       0       0       0       0
## 3        0        0       0       0       0       0       0       0       0
## 4        0        0       0       0       0       0       0       0       0
## 5        0        0       0       0       0       0       0       0       0
##   M042164 M042167 M062208A M062208B M062208C M062208D M062208 M062153 M062111A
## 1       0       0        0        0        0        0       0       0        0
## 2       0       0        0        0        0        0       0       0        0
## 3       0       0        0        0        0        0       0       0        0
## 4       0       0        0        0        0        0       0       0        0
## 5       0       0        0        0        0        0       0       0        0
##   M062111B M062237 M062314 M062074 M062183 M062202 M062246 M062286 M062325
## 1        0       0       0       0       0       0       0       0       0
## 2        0       0       0       0       0       0       0       0       0
## 3        0       0       0       0       0       0       0       0       0
## 4        0       0       0       0       0       0       0       0       0
## 5        0       0       0       0       0       0       0       0       0
##   M062106 M062124 M052209 M052142 M052006 M052035 M052016 M052064 M052126
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       0       0       0       0       0       0       0       0       0
## 4       0       0       0       0       0       0       0       0       0
## 5       0       0       0       0       0       0       0       0       0
##   M052103 M052066 M052041 M052057 M052417 M052501 M052410 M052170 M062329
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       0       0       0       0       0       0       0       0       0
## 4       0       0       0       0       0       0       0       0       0
## 5       0       0       0       0       0       0       0       0       0
##   M062151 M062346 M062212 M062056 M062317 M062350 M062078 M062284 M062245
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       0       0       0       0       0       0       0       0       0
## 4       0       0       0       0       0       0       0       0       0
## 5       0       0       0       0       0       0       0       0       0
##   M062287 M062345A M062115 M042183 M042060 M042019 M042023 M042197 M042234
## 1       0        0       0       0       0       0       0       0       0
## 2       0        0       0       0       0       0       0       0       0
## 3       0        0       0       0       0       0       0       0       0
## 4       0        0       0       0       0       0       0       0       0
## 5       0        0       0       0       0       0       0       0       0
##   M042066 M042243 M042248 M042229A M042229B M042229Z M042080A M042080B M042120
## 1       0       0       0        0        0        0        0        0       0
## 2       0       0       0        0        0        0        0        0       0
## 3       0       0       0        0        0        0        0        0       0
## 4       0       0       0        0        0        0        0        0       0
## 5       0       0       0        0        0        0        0        0       0
##   M042203 M042264 M042255 M042224 M052017 M052217 M052021 M052095 M052094
## 1       0       0       0       0       0       0       0       0       1
## 2       0       0       0       0       0       0       0       0       0
## 3       0       0       0       0       0       0       0       0       0
## 4       0       0       0       0       0       0       0       0       0
## 5       0       0       0       0       0       0       0       0       0
##   M052131 M052090 M052121A M052121B M052042 M052047 M052044 M052422A M052422B
## 1       0       0        0        0       0       0       0        0        0
## 2       0       0        0        0       0       0       0        0        0
## 3       0       0        0        0       0       0       0        0        0
## 4       0       0        0        0       0       0       0        0        0
## 5       0       0        0        0       0       0       0        0        0
##   M052505 M042015 M042196 M042194 M042114A M042114B M042112 M042109 M042050
## 1       1       0       0       1        0        0       0       0       0
## 2       0       1       0       1        1        1       0       1       1
## 3       0       0       0       0        0        0       0       0       0
## 4       0       0       0       0        0        0       0       0       0
## 5       0       0       0       0        0        0       0       0       0
##   M042074A M042074B M042074C M042151 M042132 M042257 M042158 M042252 M042261
## 1        0        0        0       0       0       0       1       0       1
## 2        0        0        0       0       0       0       1       0       1
## 3        0        0        0       0       0       0       0       0       0
## 4        0        0        0       0       0       0       0       0       0
## 5        0        0        0       0       0       0       0       0       0
##   M062005 M062139 M062164 M062142 M062084 M062351 M062223 M062027 M062174
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       1       1       0       1       0       0
## 3       1       0       0       0       0       0       1       0       0
## 4       0       0       0       0       0       0       0       0       0
## 5       0       0       0       0       0       0       0       0       0
##   M062244 M062261 M062300 M062254 M062132A M062132B M052413 M052134 M052078
## 1       0       0       0       0        0        0       0       0       0
## 2       0       1       0       0        1        1       0       0       0
## 3       0       0       0       0        0        0       1       1       0
## 4       0       0       0       0        0        0       1       0       1
## 5       0       0       0       0        0        0       0       0       0
##   M052034 M052174A M052174B M052130 M052073 M052110 M052105 M052407 M052036
## 1       0        0        0       0       0       0       0       0       0
## 2       0        0        0       0       0       0       0       0       0
## 3       0        1        0       0       0       0       0       1       0
## 4       1        0        0       0       0       0       0       0       0
## 5       0        0        0       0       0       0       0       0       0
##   M052502 M052117 M052426 M062150 M062335 M062219 M062002 M062149 M062241
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       1       0       1       0       0       0       0       0       0
## 4       0       0       1       0       1       0       0       1       0
## 5       0       0       0       0       1       0       0       0       0
##   M062105 M062040 M062288 M062173 M062133 M062123A M062123B M052079 M052204
## 1       0       0       0       0       0        0        0       0       0
## 2       0       0       0       0       0        0        0       0       0
## 3       0       0       0       0       0        0        0       0       0
## 4       0       0       0       0       1        1        0       0       0
## 5       0       0       0       1       0        0        1       0       0
##   M052364 M052215 M052147 M052067 M052068 M052087 M052048 M052039 M052208
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       0       0       0       0       0       0       0       0       0
## 4       0       0       0       0       0       0       0       0       0
## 5       0       0       0       1       0       0       0       0       0
##   M052419A M052419B M052115 M052421 M062271 M062152 M062215 M062143 M062230
## 1        0        0       0       0       0       0       0       0       0
## 2        0        0       0       0       0       0       0       0       0
## 3        0        0       0       0       0       0       0       0       0
## 4        0        0       0       0       0       0       0       0       0
## 5        0        1       0       0       0       0       0       0       0
##   M062095 M062076 M062030 M062171 M062301 M062194 M062344 M062320 M062296
## 1       0       0       0       0       0       0       0       0       0
## 2       0       0       0       0       0       0       0       0       0
## 3       0       0       0       0       0       0       0       0       0
## 4       0       0       0       0       0       0       0       0       0
## 5       0       0       0       0       0       0       0       0       0
##   M052024 M052058A M052058B M052125 M052229 M052063 M052072 M052146A M052146B
## 1       0        0        0       0       0       0       0        0        0
## 2       0        0        0       0       0       0       0        0        0
## 3       0        0        0       0       0       0       0        0        0
## 4       0        0        0       0       0       0       0        0        0
## 5       0        0        0       0       0       0       0        0        0
##   M052092 M052046 M052083 M052082 M052161 M052418A M052418B M062001 M062214
## 1       0       0       0       0       0        0        0       0       0
## 2       0       0       0       0       0        0        0       0       0
## 3       0       0       0       0       0        0        0       0       0
## 4       0       0       0       0       0        0        0       0       0
## 5       0       0       0       0       0        0        0       0       0
##   M062146 M062154 M062067 M062341 M062242 M062250A M062250B M062170 M062192
## 1       0       0       0       0       0        0        0       0       0
## 2       0       0       0       0       0        0        0       0       0
## 3       0       0       0       0       0        0        0       0       0
## 4       0       0       0       0       0        0        0       0       0
## 5       0       0       0       0       0        0        0       0       0
##   M062072 M062120
## 1       0       0
## 2       0       0
## 3       0       0
## 4       0       0
## 5       0       0

Ödevin yapılması ortalama 45 dakika sürdü.