0
votes

Comment utiliser Case_Quand correctement lorsque vous recodez des valeurs dans des colonnes sous une condition?

J'ai une trame de données avec 2 variables: xxx pré>

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> xxx pré>

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


0 commentaires

3 Réponses :


2
votes

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"))


0 commentaires

1
votes

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


0 commentaires

2
votes

Nous pouvons utiliser as.integer xxx

données xxx


0 commentaires