У меня есть набор данных, в котором испытуемые делали выбор между А и Б для 13 различных Б. Ниже приведен упрощенный пример того, как выглядят данные с 54 предметами и 5 вариантами. (1 - A, 2 - B).
subject choice1 choice2 choice3 choice4 choice5
1 1 1 1 1 2 2
2 2 1 1 2 2 2
3 3 1 2 1 2 2
4 4 1 2 2 2 2
Я хотел бы найти вопросы, в которых испытуемые переключают вариант A на B, то есть для предмета 1 это будет выбор4.
В предыдущем исследовании мы сделали это, подсчитав, сколько раз испытуемый выбрал вариант А, а затем выбрав соответствующий вариант Б, сформировав отдельную матрицу. См. Код ниже.
Однако теперь разница в том, что вместо выбора одной точки переключения испытуемым задавались вопросы в случайном порядке, и, таким образом, существует возможность иметь несколько точек переключения. Например, в приведенной выше таблице субъект 3 переключается на B по выбору 2 и снова по выбору 4.
Я хотел бы найти как первый раз, когда субъект переключается на вариант B, так и последний раз (перед тем, как придерживаться B для остальных вариантов).
sure_amounts <- matrix(nrow = 4, ncol = 13) # 4 treatments, 13 questions
sure_amounts[1, ] <- c(0, 2, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 8, 10) # Option B's
sure_amounts[2, ] <- seq(2, 14, 1)
sure_amounts[3, ] <- seq(2, 14, 1)
sure_amounts[4, ] <- seq(2, 14, 1)
b_choice <- matrix(nrow = 201, ncol = 4)
switch_choice <- matrix(nrow = 201, ncol = 4) # switching point form A to B
for(j in 1:4){ # number of treatments
for(i in 201){ # number of subjects
choice = NULL
fl = data$ID == i
k = 1 + 36*(j-1) # 36 before going to the next treatment (due to other questions)
choice = c(data[fl,k:(k+12)])
b_choice[i,j] = length(choice[choice==1])
temp = b_choice[i,j]
switch_choice[i,j] <- ifelse(temp==0, 0, sure_amounts[j, temp])
}
}
Есть ли у кого-нибудь советы, как к этому подойти? Заранее спасибо!