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

SAS Base Discussion :

Répéter une action (valeur manquante) sur une ligne /2


Sujet :

SAS Base

  1. #1
    Membre à l'essai
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Mars 2020
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Répéter une action (valeur manquante) sur une ligne /2
    Bonjour,
    À partir de la table xx calculez la différence entre la valeur associée à BMI2 et la valeur associée à BMI1 pour chaque sujet(BMI1 et BMI2 sont des colonnes transposés en ligne pour une nouvelle variable: BMI1, BMI2, BMI1, BMI2,.......)). Cette différence devra être associée à la ligne BMI2 et une valeur manquante devra être associée à la ligne BMI1 dans la nouvelle variable créée, pour chaque individu. Il est important de conserver la même structure de données que dans la table initiale, sauf en ce qui a trait à l’ajout de la nouvelle variable de différence.
    avec ce code, j'ai pu calculer la différence entre les lignes demandées mais il me reste de remplacer les lignes BMI1 par valeur manquante:

    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
    data Tp_sas.Sleepbrain_transp2;
    set Tp_sas.Sleepbrain_transp;
    valeur_bmi_1 = input(valeur_bmi, numx8.2);
    drop valeur_bmi;
    run;
     
    data Tp_sas.Sleepbrain_transp2;
    set Tp_sas.Sleepbrain_transp2;
    valeur_bmi_diff = lag1 (valeur_bmi_1);
    run;
     
    data Tp_sas.Sleepbrain_transp2;
    set Tp_sas.Sleepbrain_transp2;
    valeur_diff = valeur_bmi_1 - valeur_bmi_diff;
    run;
    Merci d'avance pour votre aide
    @
    Images attachées Images attachées  

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    En testant si TYPE_BMI vaut BMI1, forcer VALEUR_DIFF à . avec un IF / THEN.
    Bon courage.
    Olivier

  3. #3
    Membre à l'essai
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Mars 2020
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par olivier.decourt Voir le message
    Bonjour.
    En testant si TYPE_BMI vaut BMI1, forcer VALEUR_DIFF à . avec un IF / THEN.
    Bonjour,

    merci je n'ai pas eu l'idée de remplacer juste BMI1
    Merci encore


    @

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

Discussions similaires

  1. Répéter une ligne selon sa fréquence
    Par NemoParis dans le forum R
    Réponses: 6
    Dernier message: 02/08/2011, 18h20
  2. Répéter une ligne sous condition
    Par gwirionez dans le forum SAS Base
    Réponses: 6
    Dernier message: 16/03/2010, 08h56
  3. Réponses: 3
    Dernier message: 08/04/2009, 12h10
  4. Répéter une ligne N fois
    Par rs dans le forum SQL
    Réponses: 5
    Dernier message: 09/08/2007, 15h40
  5. Problème de débutant : Répéter une ligne
    Par Grelot dans le forum Access
    Réponses: 5
    Dernier message: 05/06/2007, 13h55

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