somme d'un vecteur égale à 0

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

Chloé Magnin
Messages : 16
Enregistré le : 24 Avr 2017, 06:45

somme d'un vecteur égale à 0

Messagepar Chloé Magnin » 06 Juin 2017, 11:37

Bonjour,

Je voudrais créer un vecteur dont la somme des éléments est égale à 0.
Le vecteur est généré de cette façon: vect<-round(runif(n,-5,5),4).
J'ai essayé de faire une boucle:

Code : Tout sélectionner

coef_variety<-NULL
for (i in 1:length(V_quali)){
  coef_variety[i]<-round(runif(1,-5,5),4)
  while(sum(coef_variety)!=0){
    coef_variety[i]<-round(runif(1,-5,5),4)
  }
}

Pour info length(V_quali)=20
Quelque chose ne va pas dans le code car coef_variety contient seulement des 0 à la fin de la boucle...

Auriez-vous d'autres idées?

Merci pour votre aide,

Chloé

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: somme d'un vecteur égale à 0

Messagepar Logez Maxime » 06 Juin 2017, 11:46

Bonjour,

Code : Tout sélectionner

vect <- round(runif(n,-5,5),4)
vect <- vect-mean(vect)


Cordialement,
Maxime

Chloé Magnin
Messages : 16
Enregistré le : 24 Avr 2017, 06:45

Re: somme d'un vecteur égale à 0

Messagepar Chloé Magnin » 06 Juin 2017, 11:54

Merci Maxime !

Eric Wajnberg
Messages : 777
Enregistré le : 11 Aoû 2008, 15:37
Contact :

Re: somme d'un vecteur égale à 0

Messagepar Eric Wajnberg » 06 Juin 2017, 13:20

Une autre solution, parmi une infinité:

Code : Tout sélectionner

> n=10
> x=round(runif(n,-5,5),4)
> x[n]=-sum(x[1:n-1])


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité