IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

un bug dans R ?


Sujet :

R

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Points : 13
    Points
    13
    Par défaut un bug dans R ?
    Bonjour,
    J'ai un problème étrange en utilisant deux boucles imbriquées travaillant sur une matrice de (101*101, ncol =3). Les deux premières colonnes contiennent des valeurs, la troisième est initialisée à 0.
    Je fais un truc très simple. tant que les valeurs de la première colonnes sont identiques je somme les valeurs de la deuxième colonne dans la troisième.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    i=1
    while (i < 10201){                                                             # condition 1
    	j = 0
    	while( matrice[i+j] == matrice[i+j+1]){                         #condition 2
    		matrice[i, 3] = matrice[i, 3] + matrice[i+j+1, 2]
    		j = j+1
    	}
    	i = i + j
    cat("i =", i, "j= ",j , "donnees : ", matrice[i, ],"\n")
    }
    Apparemment le code ne parvient pas à sortir de la boucle while interne, en bouclant à l'infini dès que la condition #2 n'est plus vérifiée.

    J'avoue ne pas comprendre. Quelqu'un a une idée ?

    Merci d'avance, bien cordialement.

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Décembre 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2015
    Messages : 72
    Points : 180
    Points
    180
    Par défaut
    Bonjour,
    Si on part de i=4 par exemple, et qu'à j=0, la condition n'est pas vérifiée, on passe à i=i+j, soit 4=4 + 0 => i ne varie pas.

    On reprend alors à i =4 et j=0, on recommence, la valeur de i ne bougera donc jamais.

    Peut-être faut-il rajouter une condition lors de l'implémentation du i pour éviter ce cas de figure. (C'est-à-dire quand une valeur n'est pas répétée sur deux lignes successives.)

    Code r : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(j==0){
        i<-i+1
    }else{
        i<-i+j
    }

    Cordialement

Discussions similaires

  1. Bug dans le TCheckListBox ?
    Par Tardiff Jean-François dans le forum Composants VCL
    Réponses: 6
    Dernier message: 04/11/2004, 08h39
  2. Bug dans les expressions régulières ?
    Par SergioF dans le forum Linux
    Réponses: 8
    Dernier message: 12/05/2004, 15h14
  3. [PROPERTIES] Bug dans java.util.Properties ?
    Par mathieu dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 28/04/2004, 15h11
  4. bug dans une base Access
    Par bizouard dans le forum Access
    Réponses: 5
    Dernier message: 29/12/2003, 12h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo