Tout d'abord je déclare que j'ai vérifié toutes les questions connexes sur ifelse
, mais sans succès. J'essaie d'utiliser ifelse
pour ajouter un facteur (période d'accouplement) chez les espèces sauvages selon les mois. Un exemple de la DB est ci-dessous:comportement ifelse dans R
> DB <- data.frame(ID = 1:6, Month = 1:12)
colnames(DB) <- c("ID","Month")
Ce que j'ai essayé est:
Period<-with(DB,ifelse(Month==c(2,3,4,5,6,7,8,9,10),"M","R")))
mais le résultat ne correspond pas à la condition:
(Period)[1] "R" "R" "R" "R" "R" "R" "R" "R" "R" "R" "R" "R"
et il y a aussi un avertissement:
Warning message:
In Month == c(2, 3, 4, 5, 6, 7, 8, 9, 10) :
longer object length is not a multiple of shorter object length`
Étonnamment, quand je lancer le script sur le vrai DB deux choses se produisent:
- Dans la nouvelle colonne Période certains M apparaît
- Aucun avertissement sort
Je suis vraiment confus sur la façon dont fonctionne ifelse
. J'espère que quelqu'un pourrait clarifier comment cette fonction fonctionne et comment taper correctement le script pour obtenir le bon résultat.
Vous pourriez vouloir accepter quelques réponses à vos questions, donner à vos intervenants une réputation supplémentaire et bien rangé la placez un peu :-) –