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
# 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))
# Bilgi nesnesinden de aynı maddelerin kaldırılması
bilgi <- bilgi %>%
filter(!(`Item ID` %in% silinecek_maddeler))
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ü.