2010-06-30 6 views
1

Est-il habituel que les fréquences univariées n'affichent pas la variable BY alors que Univariate BasicMeasures affiche la variable BY?La variable BY n'est pas affichée en Fréquence univariée?

Dans l'exemple ci-dessous, je charge certaines données et je souhaite afficher les prix de l'essence par code postal. La sortie pour PROC FREQ affiche la variable BY (code postal) dans la sortie, tout comme les BasicMeasures UNIVARIATE. Mais les fréquences UNIVARIATE ne montrent pas la variable BY dans la sortie.

Est-ce que je fais quelque chose de mal? J'ai même mis les modèles par défaut, avec l'instruction ODS PATH, au cas où les templates seraient corrompus par d'autres codes (ou d'autres codeurs utilisant le même compte).

DATA prices; 
    INPUT zipcode price; 
    DATALINES; 
90066 3.10 
90066 3.17 
90066 3.26 
98101 2.99 
98101 3.06 
98101 3.16 
; 
run; 
proc sort; 
    by zipcode; 
run; 

ods path sashelp.tmplmst(read) ; 

ods pdf file = "gasprices.pdf"; 
PROC FREQ data = prices; 
    tables price; 
    by zipcode; 
run;  
ods select Frequencies; 
PROC UNIVARIATE data = prices freq; 
    var price; 
    by zipcode; 
run; 
ods select BasicMeasures; 
PROC UNIVARIATE data = prices; 
    var price; 
    by zipcode; 
run; 
ods pdf close; 

Répondre

0

Vous pouvez spécifier plus d'un objet dans l'ODS SELECT, vous pouvez donc tirer les deux tables de la même PROC comme celui-ci FREQ:

ods pdf file = "gasprices.pdf"; 
ods select BasicMeasures Frequencies; 
PROC UNIVARIATE data = prices freq; 
    var price; 
    by zipcode; 
run; 
ods pdf close; 

Je sais que cela ne résout pas exactement votre problème, mais il me semble que l'affichage de la variable BY n'est tout simplement pas correctement lié aux tables de fréquences PROC UNIVARIATE (par exemple, essayez ODS SELECT Moments - fonctionne très bien). Cela pourrait valoir la peine d'être signalé à SAS.

+0

Cool, c'est une bonne solution. Merci beaucoup pour l'idée. Mieux que mon approche alternative inefficace de fractionnement des données et de remplissage manuel des titres. –