Je voudrais vérifier TRUE, FALSE, TRUE et sept autres combinaisons dans mon cadre de données qui ont 87027 lignes et trois colonnes.Je veux écrire des résultats pour chaque ramer comme ça;Vérification de plusieurs conditions et création d'une nouvelle colonne en fonction du résultat de la vérification dans R
TRUE TRUE TRUE -> abc
TRUE TRUE FALSE-> ab
TRUE FALSE TRUE->ac
FALSE TRUE TRUE->bc
et d'autres ...
Voici un exemple simplifié dataframe:
A B C
TRUE FALSE FALSE
TRUE FALSE FALSE
FALSE FALSE FALSE
TRUE FALSE TRUE
FALSE FALSE TRUE
à cet effet j'ai écrit une boucle
for (i in 1:87027) {
if (data$A[i]=="TRUE" & data$B[i]=="TRUE") {
if (data$C[i]=="TRUE") {
data$new[i]="abc"
}
}
if (data$A[i]=="TRUE" & data$B[i]=="TRUE") {
if (data$C[i]=="FALSE") {
data$new[i]="ab"
}
}
if (data$A[i]=="TRUE" & data$B[i]=="FALSE") {
if (data$C[i]=="TRUE") {
data$new[i]="ac"
}
}
if (data$A[i]=="TRUE" & data$B[i]=="FALSE") {
if (data$C[i]=="FALSE") {
data$new[i]="a"
}
}
if (data$A[i]=="FALSE" & data$B[i]=="FALSE") {
if (data$C[i]=="FALSE") {
data$new[i]="Nothing"
}
}
if (data$A[i]=="FALSE" & data$B[i]=="TRUE") {
if (data$C[i]=="TRUE") {
data$new[i]="bc"
}
}
if (data$A[i]=="FALSE" & data$B[i]=="TRUE") {
if (data$C[i]=="FALSE") {
data$new[i]="b"
}
}
if (data$A[i]=="FALSE" & data$B[i]=="FALSE") {
if (data$C[i]=="TRUE") {
data$new[i]="c"
}
}
}
l'exécution de cette prise de code quelques minutes, je me demande comment je peux le faire d'une manière sophistiquée
Ce code me fait mal au coeur – Dason
merci Dason, j'ai essayé de résoudre mon problème d'une manière plus ancienne parce que je suis un nouvel utilisateur en R –