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

Débutez Discussion :

Syntaxe pour égalité entre deux lignes : var(i)=var(i+1)


Sujet :

Débutez

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 40
    Points : 41
    Points
    41
    Par défaut Syntaxe pour égalité entre deux lignes : var(i)=var(i+1)
    Encore une question bête...
    Quelle est la syntaxe de :
    si var(i)=var(i+1)?

    J'ai essayé var=var+ mais ça ne marche pas (et je voudrais éviter les boucles!!!!)...

  2. #2
    Membre éclairé
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Points : 823
    Points
    823
    Par défaut
    Si je comprend bien ta question, tu veux vérifier qu'une observation i a la même valeur que l'observation suivante i+1 pour la variable var ?
    Sous SAS, ce n'est pas faisable, en revanche tu peux comparer avec l'observation précédente i-1 (ou i-n), avec la fonction lag. Mais si tu tries en ordre inverse ta table, ça revient à comparer à i+1.

    Exemple d'utilisation de la fonction lag :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    data test ;           
        var = 1 ; output ;
        var = 1 ; output ;
        var = 1 ; output ;
        var = 2 ; output ;
        var = 3 ; output ;
        var = 3 ; output ;
        var = 3 ; output ;
        var = 4 ; output ;
        var = 4 ; output ;
    run ;
     
    data test2 ;
        set test ;
        length compare $5 ;
        if _N_ = 1 then compare = "N/A" ;
        if _N_ > 1 then do ;
            if var = lag(var) 
                then compare = "IDEM" ; 
                else compare = "dif" ;
            lag_var = lag(var) ;
            end ;
        putlog _N_= @10 var= @20 lag_var= @35 compare=;
    run ;

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    Super, je vais essayer, merci!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. La meilleure syntaxe pour les entrées/sorties
    Par Lunixinclar dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/03/2007, 13h55
  2. Marge entre deux lignes d'un tableau
    Par Kevin.Perez dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 12/03/2007, 12h29
  3. condition pour afficher entre deux dates
    Par forbans dans le forum Access
    Réponses: 1
    Dernier message: 13/06/2006, 09h13
  4. Test d'égalité entre deux algorithmes, ça existe, est-ce faisable ?
    Par davcha dans le forum Algorithmes et structures de données
    Réponses: 16
    Dernier message: 25/04/2006, 18h04
  5. Réponses: 5
    Dernier message: 10/04/2006, 12h07

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