logo

Echantillon : Quantiles avec univariate

Bonjour,

je dispose d’une table SAS de la densité d’une variable discréte (modalité + proba) et je voudrais les quantiles mais la proc univariate n’accepte pas des valeurs < 1 dans son option FREQ. Comme j’ai certaines proba trés faibles si je multiplie ma freq par 1000, je risque de perdre de l’info et si je multiplie par un nombre trés grand, la proc TABULATE est limitée !
Y a-t-il une solution pour obtenir les centiles par exemple ?

Merci

Les procédures usuelles de calculs pour les quantiles ne supportent pas vraiment proprement les pondérations décimales (ni Univariate, ni Rank). La solution de contournement vient de la proc KDE, dont ce n’est pas le but premier, mais qui fournit ces calculs en annexe. Il suffit de lui indiquer les ordres des quantiles espérés dans l’instruction UNIVAR pour les lister, et on les récupère avec ODS OUTPUT.

ODS OUTPUT percentiles=work.quantiles ;
 PROC KDE DATA=sashelp.class ;
 UNIVAR weight / PERCENTILES=0 TO 100 BY 1 ;
 RUN ;