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 :

Compteur pour des variables manquantes


Sujet :

SAS Base

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    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 : Avril 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Compteur pour des variables manquantes
    Bonjour,

    Je possède une base de micro données d'entreprises de plus de 95 000 observations. Chaque entreprise est identifiée par son numéro Siren, et j'ai les données pour chaque entreprise de l'année 2004 à 2013.
    J'essaie de nettoyer un peu ma base pour pouvoir effectuer des stat des dessus.
    Pour une des variables qui m'intéresse tout particulièrement, j'ai créé une variable 'trou' qui vaut 1 quand une observation est manquante et 0 autrement. Cela m'a permis de calculer le nombre d'observations manquante pour chaque entreprise (ie pour chaque numéro siren) pour cette variable.

    J'aimerais à présent extrapoler les valeurs manquantes. Pour cela j'ai besoin d'un compteur qui m'indique pour chaque entreprise si l'observation manquante est la première (valeur 1) si c'est la deuxième dans une suite de deux observations manquantes consécutives etc. Si pour une seule entreprise j'ai deux observations manquantes mettons en 2005 et en 2008, je voudrais que mon compteur indique 1 pour chacune de ces années. Si en revanche j'ai deux observations manquante en 2005 et en 2006 je voudrais que mon compteur indique 1 pour 2005 et 2 pour 2006.

    J'ai essayé d'utiliser la commande retain, mais lorsque j'initialise mon compteur à 0, SAS refuse de reconnaître le symbole 0 (je ne savais même pas que c'était possible).

    Je vous fournis mon code. Je suis toute nouvelle utilisatrice de SAS donc il est possible que j'aie simplement fait une erreur énorme. Merci beaucoup pour votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    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 : Avril 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Réponse
    Bon j'ai trouvé la solution (je ne suis décidément pas très patiente), mais c'est peut-être du bricolage, j'en suis bien consciente. Donc si jamais ça intéresse quelqu'un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    proc sort data = Dianepropre4;
    by Siren annee;
    run;
     
    data Dianepropre5;
    retain cnt;
    set Dianepropre4;
    by siren;
    if first.siren then cnt = 0;
    if trou2 = 1 then cnt = cnt + 1;
    else cnt = 0;
    run;

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

Discussions similaires

  1. Syntaxe pour des variables nommées
    Par uraharasama dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 28/06/2010, 19h18
  2. Format pour des variables caractères
    Par CélineM dans le forum SAS Base
    Réponses: 9
    Dernier message: 13/05/2008, 17h34
  3. Opérations simple pour des variables
    Par anayathefirst dans le forum Jasper
    Réponses: 8
    Dernier message: 31/03/2008, 11h57
  4. Faire un compteur pour des sessions utilisateurs
    Par liverbird dans le forum C++Builder
    Réponses: 55
    Dernier message: 21/06/2006, 15h37
  5. Réponses: 3
    Dernier message: 19/12/2005, 13h39

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