Comparaison de 2 colonnes
Bonjour :),
j'ai un problème que je ne parvient pas à résoudre.
Je travaille sur un data.frame constitué de deux colonnes. Ces colonnes correspondent à un lieu d’échantillonnage différent.
Chaque ligne a un identifiant qui lui correspond (si besoin je peux les afficher).
cela se présente de la manière suivante :
Lieu 1 |
Lieu 2 |
12 |
0 |
123 |
126 |
21 |
0 |
87 |
456 |
6654 |
12 |
J'aimerais faire apparaître dans une nouvelle colonne la présence/Absence des éléments.
Je ne sais pas si je m'exprime bien. En gros lorsqu'il y a une séquence détectée (un chiffre présent dans la case) pour les deux lieux j'aimerais que cela indique 1 dans ma nouvelle colonne. Lorsqu'il n'est présent dans aucun ou dans un seul des deux lieux cela vaudrait 0.
Pour faire cela j'ai pensé à deux idées or je n'arrive à coder aucune des deux.
- Pour mes deux zones noter présence absence avec 1 et 0 et en faire la somme. Lorsque le résultat vaut 2 faire une boucle for pour le transformer en 1 et mettre le reste à 0.
-> J'arrive à faire absence présence mais pas la somme et la boucle.
- Faire la somme des valeurs réelles (non transformées) et faire une boucle de comparaison. Lorsque le résultat de la somme est égal à une des deux valeurs des deux lieux cela signifie qu'une des deux valeurs est égale à 0.
-> Je ne parviens dans ce cas là pas à comparer :
Code:
1 2 3 4 5 6 7 8 9 10
| mutate(Compilation, newcolomn= 1:nrow(Compilation))
if (Compilation$Lieu1 != Compilation$somme){
if (Compilation$Lieu2 != Compilation$somme) {
newcolomn = "1"
}
else {
newcolomn = "0"
}
} |
J'ai donc écrit le script précédent mais je tombe dans une boucle infinie.
Pourriez-vous m'apporter des éléments de réponses ?
Merci par avance,
Comparaison de 2 colonnes
Bonjour,
Je ne suis pas sure de comprendre. Est-ce que ceci répond à votre question ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| df <- read.table(header=TRUE, text="
Lieu1 Lieu2
12 0
123 126
21 0
87 456
6654 12
")
df$newcolomn <- ifelse(df$Lieu1 > 0 & df$Lieu2 > 0, 1, 0)
df
#> Lieu1 Lieu2 newcolomn
#> 1 12 0 0
#> 2 123 126 1
#> 3 21 0 0
#> 4 87 456 1
#> 5 6654 12 1
# Created on 2021-04-20 by the reprex package (v2.0.0) |
Cordialement,