Remplissage d'une colonne

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

paul villaespesa
Messages : 12
Enregistré le : 13 Avr 2018, 17:25

Remplissage d'une colonne

Messagepar paul villaespesa » 25 Avr 2018, 07:14

Bonjour à tous,
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

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: Remplissage d'une colonne

Messagepar Serge Rapenne » 25 Avr 2018, 07:26

Bonjour,

Nul besoin de boucle ici,

Code : Tout sélectionner

DataLine$Valeurpalatable<-ifelse(DataLine$Catégorie.dobservation._1_2=="forb","2",DataLine$Valeurpalatable)

devrait faire le boulot
Serge

paul villaespesa
Messages : 12
Enregistré le : 13 Avr 2018, 17:25

Re: Remplissage d'une colonne

Messagepar paul villaespesa » 25 Avr 2018, 08:09

Merci beaucoup

parfois on se complique la vie

Paul


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité