Необходимо проверить только одно условие, что значения FACE.RESP
и Correct
одинаковы, и присвоить всем другим значениям значение 0.
library(dplyr)
df %>% mutate(FACE.RESP = case_when(FACE.RESP == Correct ~ 1,TRUE ~ 0))
# Correct FACE.RESP
#1 1 1
#2 2 0
#3 1 0
#4 2 1
#5 2 1
#6 2 0
Однако более простой подход заключается в сравнении двух столбцы и преобразовать логические значения в целочисленные значения, используя +
в начале.
df$FACE.RESP <- +(df$Correct == df$FACE.RESP)
data
df <- structure(list(Correct = c(1L, 2L, 1L, 2L, 2L, 2L), FACE.RESP = c(1L,
1L, 2L, 2L, 2L, 1L)), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6"))