Bonjour,
comment récupérer juste le nombre de modalité d'une variable quelle que soit son type?
Merci.
Bonjour,
comment récupérer juste le nombre de modalité d'une variable quelle que soit son type?
Merci.
Voilà une solution que j'utilise souvent, avec la proc sql :
Elle marche sur des var numérique et caractère indiféremment.
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 data test ; input num char $ ; cards ; 4 A 4 A 5 B . C ; run ; proc sql noprint; select count(distinct num) + nmiss(distinct num) into :NB_MODALITY_num from test ; select count(distinct char) + nmiss(distinct char) into :NB_MODALITY_char from test ; quit ; %put nombre de modalités dans num : &NB_MODALITY_num ; %put nombre de modalités dans char : &NB_MODALITY_char ;
A noter le nmiss(), qui permet de compter le nombre de modalités manquantes, si besoin
Sinon tu peux utiliser un proc freq;
Du coup le nombre de ligne de ta dernière table correspond à ton nombre de modalités.proc sort data=table_entree;
by variable;
run;
proc freq data=table_entree;
table variable/out=table_sortie;
run;
Après je pense que la solution en sql est plus propre mais avec le proc freq tu as aussi les effectifs pour chaque modalité.
Je n'avais pas bien lu la suite de la question.
Proc freq est utile pour des variable qualitatives. Pour une variable quantitative, tu peux toujours changer le format avant d'appliquer la procédure.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager