J'ai un df ("SYLATR") de données type CMR, présentant donc des données de captures (ou observations) pour plusieurs individus, avec de nombreuses colonnes différentes. J'ai de nombreuses lignes qui présentent plusieurs observations pour un même individu (identifié par un numéro unique de bague "BAGUE").
Grâce à "ifelse", j'ai créé une colonne indiquant un statut ("STATUT"), soit "RESIDENT" soit "INCONNU", par ligne (observation), en fonction de différentes conditions :
Code : Tout sélectionner
SYLATR$STATUT<-ifelse(SYLATR$PC==1|SYLATR$PI==1|SYLATR$MU=="J"|SYLATR$MU=="R"|SYLATR$SEXE=="?", "RESIDENT", "INCONNU")
Cependant, un individu peut répondre au(x) critère(s) de RESIDENT une fois et ne pas y répondre à d'autres observations, comme ci-dessous :
table(SYLATR$BAGUE, SYLATR$STATUT)
INCONNU RESIDENT
...
7129575 2 1
Sauf que j'aimerai qu'à partir du moment où un individu est considéré comme "RESIDENT" une fois, où que ce soit dans le df (donc sans prendre en compte l'ordre du jeu de données créé par la date de l'observation), le statut devienne systématiquement RESIDENT pour toutes les observations de cet individu.
Autrement dit, j'aimerai que :
Dans SYLATR$STATUT, si une fois STATUT =="RESIDENT" pour une BAGUE "X", alors STATUT devienne "RESIDENT" pour toutes les observations relatives à cette même bague X.
En espérant avoir été assez claire et vous remerciant d'avance,
Elsa