logo

Formats : format pour comparer un groupe à l’ensemble de la population

Bonjour,

Dans le cadre d’un travail sur le marché du logement, je souhaiterais comparer le comportement des moins de 35 ans au comportement de l’ensemble de la population. Pour cela, j’ai pensé à un format multilabel du type:

<strong>   proc format;</strong>
<strong>       value pop (multilabel) low-35="35 ans et moins"</strong>
<strong>       low-high/* ?? */="tout le monde";</strong>
<strong>   run;</strong>

mais si j’applique ce format dans une proc freq par exemple:

<strong>   proc freq data=****;</strong>
<strong>       table age;</strong>
<strong>       format age pop.;</strong>
<strong>   run;</strong>

j’obtiens bien les 35 ans et moins d’une part, mais dans « tout le monde » je n’ai que les plus de 35 ans. Comment obtenir l’ensemble de la population? Merci pour votre réponse

Bonjour.

Il n’est malheureusement pas possible d’utiliser les formats MULTILABEL partout. Seules les procédures MEANS et TABULATE les supportent.
Une alternative pour votre problème : dupliquer les observations correspondant aux moins de 35 ans, avec une étape Data.

DATA work.pour_etude ;
    SET *** ;
    IF age &lt; 35 THEN DO ;
       doublon = 1 ;
       OUTPUT ;
    END ;
    doublon = 0 ; /* pour tout le monde */
    OUTPUT ;
 RUN ;

Ensuite il suffit d’habiller la variable DOUBLON avec un format :
0 -> tout le monde
1 -> moins de 35 ans.