J'ai une trame de données avec 2 variables: Je souhaite recoder / remplacer les valeurs de la colonne "Face.Resp 'sous une condition si la valeur" .Resp 'correspond à la valeur dans "CORRECT", la valeur "FACE.RESP' doit être réécrite à 1. Si la valeur dans" Face.RESP "ne correspond pas à la valeur" correcte ", la valeur" correcte ". .Resp 'doit être recodé à 0. p> J'ai essayé le code suivant à l'aide de la mutation et de la case_quive: p> mais les résultats sont: P > Correct FACE.RESP
5 2 2
6 2 1
7 1 NA
8 2 NA
9 2 NA
10 1 NA
3 Réponses :
Vous devez vérifier uniquement pour une condition que face.reesp code> et
corrige code> est identique et attribuez toutes les autres valeurs à 0.
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"))
Voici un autre dplyr code> solution.
library(dplyr)
df %>% mutate(FACE.RESP = +(Correct == FACE.RESP))
# Correct FACE.RESP
#1 1 1
#2 2 0
#3 1 0
#4 2 1
#5 2 1
#6 2 0
Nous pouvons utiliser as.integer code>
données h3>