Я использую простые примеры данных:
df <- data.frame(answers = c(1,2,5,4,3,2,6,1,4))
answers
1 1
2 2
3 5
4 4
5 3
6 2
7 6
8 1
9 4
Затем создайте пустые векторы
df$recode <- list(rep(0, 6))
answers recode
1 1 0, 0, 0, 0, 0, 0
2 2 0, 0, 0, 0, 0, 0
3 5 0, 0, 0, 0, 0, 0
4 4 0, 0, 0, 0, 0, 0
5 3 0, 0, 0, 0, 0, 0
6 2 0, 0, 0, 0, 0, 0
7 6 0, 0, 0, 0, 0, 0
8 1 0, 0, 0, 0, 0, 0
9 4 0, 0, 0, 0, 0, 0
Затем манипулируйте ими в соответствии с информацией в ваших ответах.
df$recode <- Map(function(x,y) `[<-`(x,y,1), x = df$recode, y = df$answers)
answers recode
1 1 1, 0, 0, 0, 0, 0
2 2 0, 1, 0, 0, 0, 0
3 5 0, 0, 0, 0, 1, 0
4 4 0, 0, 0, 1, 0, 0
5 3 0, 0, 1, 0, 0, 0
6 2 0, 1, 0, 0, 0, 0
7 6 0, 0, 0, 0, 0, 1
8 1 1, 0, 0, 0, 0, 0
9 4 0, 0, 0, 1, 0, 0