ich möchte gerne eine sequentielle Bepunktung ( 1 = richtig, 0= falsch) von Testitems mit vier Antwortkategorien (1:4) vornehmen und habe dafür bereits dieses hervorragende Tutorial gefunden: https://m-py.github.io/TesttheorieR/sch ... -testitems. Es scheitert allerdings an der Anwendung auf meinen Datensatz, da für einige Items zwei Antworten korrekt sind (in der Variable bt_keys gerade mit | gekennzeichnet, z.b. ist für BT_1 ist die Antwort 3 richtig, für BT_3 sind Antworten 1 und 2 richtig). Wie kann man das umsetzen?
Vielen Dank für die Hilfe
Beispielcode (mit dem | operator funktioniert es NICHT):
Code: Alles auswählen
## Load libraries
library(readxl)
library(openxlsx)
library(dplyr)
library(knitr)
library(data.table)
library(readr)
## read data
tonegen_clean <- read_xlsx("tonegen_clean.xlsx")
# correct keys for tone generation task
# Pretest
bt_keys <- c(
3, 3, # BT_1, BT_2
1|2, 1|2, # BT_3, BT_4
3|4, 3|4, # BT_5, BT_6
2|4, 2|4, # BT_7, BT_8
3, 3, # BT_9, BT_10
1|2, 1|2, # BT_11, BT_12
3|4, 3|4, # BT_13, BT_14
1|2, 1|2, # BT_15, BT_16
2|4, 2|4, # BT_17, BT_18
1, 1, 1) # BT_19, BT_20, BT_21
# FOR loops for coding correct answers:
# Pretest
for (i in 1:21) {
# 1. choose column-name of i-th item:
colnamebt <- paste0("BT_", i)
# 2. choose response:
ith_itembt <- tonegen_clean[[colnamebt]]
# 3. recode:
bt_response <- ifelse (ith_itembt == bt_keys[i], 1, 0)
# 4. name the new columns:
new_colnamebt <- paste0(colnamebt, "_cod")
# 5. add coded values to data.frame an:
tonegen_clean[[new_colnamebt]] <- bt_response}