2017-08-22 2 views
-2

un ensemble de données comme En supposant suivant:SAS-calcul du pourcentage de variables

firm_name  year gender 
A    2011  M 
A    2011  M 
A    2011  F 
A    2012  M 
A    2012  M 
A    2012  F 
A    2012  M 

j'utiliser le code suivant pour faire le calcul.

proc sql; 
    create table result as 
    select firm_name, 
      year, 
      sum(case when(gender="M") then 1 else 0 end)/count(*) as des 
    from Have 
    group by 1,2; 
quit; 
+1

Vous devriez au moins fournir une tentative que vous avez fait à la recherche et le code cela. Avez-vous regardé '' '' fre fre'' qui va calculer ce pourcentage par défaut? – Longfish

Répondre

0

Le poisson long est correct. Cela peut être mis en œuvre avec Proc freq

data begin; 
    input firm_name $ year gender $ ; 
    datalines; 
    A 2011 M 
    A 2011  M 
    A 2011  F 
    A 2012  M 
    A 2012  M 
    A 2012  F 
    A 2012  M 
    ; 
run; 

SAS nous avons toujours besoin de trier les données sur. Vous pouvez essayer de jouer avec la commande et les résultats sont souvent intéressants. Notez que le processus SAS ne donne généralement que des avertissements et non des erreurs.

proc sort data= begin; by firm_name year gender; run; 

proc freq data= begin ; /*YOu can add noprint option in case of large files*/ 
    by firm_name year; 
    table gender /out= wanted; 
run; 

Pour en savoir plus sur proc Freq voir https://support.sas.com/documentation/cdl/en/statug/63962/HTML/default/viewer.htm#statug_freq_sect006.htm