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 :

Attribuer la réponse d'un individu à un autre individu


Sujet :

SAS Base

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2016
    Messages : 3
    Points : 5
    Points
    5
    Par défaut Attribuer la réponse d'un individu à un autre individu
    Ma base contient plusieurs fois les mêmes personnes qui ont répondu à des moments différents. Il peut donc y avoir jusqu'à 4 lignes (correspondant à 4 trimestres) avec le même identifiant.
    Mon problème est que ils n'ont répondu qu'une seule fois à la question qui m'intéresse donc 1 seule de ces 4 lignes contient l'information que je veux sur cet individu.
    Je sais comment obtenir une seule ligne par individu avec la variable qui m'intéresse MAIS je voudrais garder les 4 lignes (=trimestre) par individu tout en changeant cette variable pour qu'elle soit égale à la réponse qu'il a donné la première fois (ou 2ème ou 3e ou 4e) qu'il a été intérrogé. C'est à dire remplacer les valeurs manquantes par la valeur que je connais.

    J'ai ça:
    obs ident trimestre variable
    1 a 1 1000
    2 a 2 .
    3 a 3 .
    4 a 4 .

    Je veux ça:
    obs ident trimestre variable
    1 a 1 1000
    2 a 2 1000
    3 a 3 1000
    4 a 4 1000


    Problème 2: Certaines personnes ont répondu 2 fois à deux trimestres différents et je voudrais dans ce cas faire une moyenne des deux réponses et l'attribuer à chaque observation.

    Merci d'avance si vous pouvez m'aider!

  2. #2
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2016
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    J'ai trouvé une solution, n'hésitez pas à me contacter si vous voulez savoir comment j'ai fait!

  3. #3
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 219
    Points
    16 219
    Par défaut
    Bonjour,
    Peux-tu laisser le code SAS de ta solution ?
    Merci
    Les balises code
    FAQ SAS
    Rubrique SAS

    Si vous souhaitez contribuer à la rubrique SAS, contactez-moi ou tout autre membre de l'équipe BI par MP.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2016
    Messages : 3
    Points : 5
    Points
    5
    Par défaut Solution
    Solution trouvée:
    /
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    * Faire des moyennes de la variable classée par identifiant et créer une table à partir des résultats */
    
    proc means data=table1 noprint mean;
    var variable;
    class identifiant_individu;
    output out=table2 mean=moy_variable;run;
    
    data table2 (keep=identifiant_individu moy_variable);set table2;if identifiant_individu ne ""; run;
    
    proc sort data=table1;by identifiant_individu;run;
    proc sort data=table2;by identifiant_individu;run;
    
    data ens;merge table1(in=a) table2(in=b);by identifiant_individu;if a;run;

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

Discussions similaires

  1. [AC-2010] Attribuer une valeur d'un champ à un autre.
    Par Maude_84 dans le forum VBA Access
    Réponses: 17
    Dernier message: 13/02/2015, 09h06
  2. attribuer une valeur à un champ fct d'autres champs
    Par gladiamax dans le forum Modélisation
    Réponses: 3
    Dernier message: 22/07/2011, 03h37
  3. Réponses: 5
    Dernier message: 17/06/2008, 15h17
  4. Réponses: 10
    Dernier message: 29/06/2006, 17h01

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