Voilà je voudrais remplir automatiquement une colonne en fonction d''un level d'un facteur se trouvant dans une autre colonne.
Donc ma phrase est : Pour les données du DataFrame (DataLine), si la valeur dans la colonne ($Catégorie.dobservation) est égale à "forb" alors remplir la colonne $Valeurpalatable par 2 sinon garder la valeur déjà présente.
Pour cela j'avais pensé à :
Code : Tout sélectionner
for (i in 1:length(DataLine$Catégorie.dobservation._1_2))
DataLine[,DataLine$Valeurpalatable[i]]<-ifelse(DataLine[,DataLine$Catégorie.dobservation._1_2[i]]=="forb","2",DataLine[,DataLine$Valeurpalatable[i]])
il m'affiche un message d'erreur
Code : Tout sélectionner
Error in x[[jj]] <- v :
attempt to select less than one element in integerOneIndex
In addition: Warning message:
In `[<-.data.frame`(`*tmp*`, , DataLine$Valeurpalatable[i], value = list( :
provided 1398 variables to replace 1 variables
Donc j'ai du mal a utiliser la fonction if....
Merci d'avance
Paul